Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 过期标题?我如何实现它们,它们是什么?_Jquery_Performance_Apache_Header - Fatal编程技术网

Jquery 过期标题?我如何实现它们,它们是什么?

Jquery 过期标题?我如何实现它们,它们是什么?,jquery,performance,apache,header,Jquery,Performance,Apache,Header,我曾试图寻找如何实现它们,但对我来说毫无意义。它谈到了apache、Django和Lighttpd,但我不知道它们是什么 我在我的网页上使用了ySlow,它告诉我需要一个expires标题 显然,它确实有助于提高性能,而这正是我真正需要的。它与jQuery无关。服务器的响应应该设置适当的头,如Expires、E-Tag等 您在服务器端使用什么语言 如果您使用的是PHP,发送Expires标头的示例如下: header("Expires: Tue, 31 Aug 2010 02:30:00 GMT

我曾试图寻找如何实现它们,但对我来说毫无意义。它谈到了apache、Django和Lighttpd,但我不知道它们是什么

我在我的网页上使用了ySlow,它告诉我需要一个expires标题


显然,它确实有助于提高性能,而这正是我真正需要的。

它与jQuery无关。服务器的响应应该设置适当的头,如Expires、E-Tag等

您在服务器端使用什么语言

如果您使用的是PHP,发送Expires标头的示例如下:

header("Expires: Tue, 31 Aug 2010 02:30:00 GMT");
是jQuery无法设置的HTTP标头字段

但您可以尝试添加一个HTTP等效项:

$(“head”).append(“”)
但是,如果识别出这样一个HTTP等价的
META
元素,则这取决于用户代理。更好的方法是在HTTP头中设置它


顺便说一句:在HTTP 1.1中,with max age参数优先于Expires(请参阅)。

HTTP缓存使用
Expires
头,指示对象当前版本不再为当前版本的下一个日期/时间。浏览器和HTTP缓存可以使用它来减少源web服务器上的负载

缓存中还涉及一些其他头,您也应该研究它们,如
ETag
Cache Control


请参阅:

Expires标题超出了实际页面本身,它是服务器添加到响应中的元数据,用于向客户端指示内容的有效期

最终,由服务器设置响应头。这可以在全局范围内完成,以便从服务器发送的所有内容都具有相同的值。或者,如果您使用的是服务器端平台(如ASP.NET、PHP等),则可以通过编程和基于每个资源(页面)设置
Expires
标题

不过,听起来您只需要全局设置它们——这通常是通过服务器设置完成的

对于Apache,请看

对于IIS7

对于其他服务器平台,只需在Google上搜索“HowtoSetExpiresHeader{server}”,其中{server}是您需要的任何平台/版本

并澄清它们是什么 如果浏览器以前检索过一个资源(比如myPage.html),并且该资源的有效期为24小时,那么浏览器基本上会被告知“如果您在接下来的24小时内再次尝试加载此页面,您只需显示您以前检索到的版本,而无需从服务器请求新的副本”

对于静态页面,这可能是理想的——更长的过期时间可以让用户更快地加载页面(浏览器可以节省到服务器的行程),并且服务器必须处理更少的请求

但是,;对于动态页面,过期时间长可能是有害的。想象一下,一个页面只显示时间,比如东部时间
1:01PM
(服务器生成HTML的地方)。如果expires标头设置为1h,则浏览器可能会在应为“1:45 EST”时向用户显示“1:01 EST”,以此类推


如果您需要显式禁用浏览器缓存(不同的浏览器使用不同的默认值,即:IE8在缓存方面非常激进),那么您可以设置
Expires=-1
,这实质上是说页面立即过期。

对不起,我只是觉得有趣的是,“我如何实现它们?”出现在“它们是什么?”之前。。。这让我想起了我曾经参与过的一些项目。答案将取决于页面的构建和服务方式,而不是客户端(jQuery)。您使用的是ASP.NET、PHP、Coldfusion、JSP等吗?不,我使用的只是jquery、javascript、css和html我在一个文件中使用了xml,您所在的服务器平台是什么?IIS,Apache?
$("head").append('<META http-equiv="Expires" content="Tue, 20 Aug 1996 14:25:27 GMT">')