Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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 HTTP缓存:为什么使用ETag而不是缓存控制和/或过期?_Jquery_Http_Caching_Cache Control - Fatal编程技术网

Jquery HTTP缓存:为什么使用ETag而不是缓存控制和/或过期?

Jquery HTTP缓存:为什么使用ETag而不是缓存控制和/或过期?,jquery,http,caching,cache-control,Jquery,Http,Caching,Cache Control,据谷歌称,我在自己的网站上阅读并玩弄jQuery时,注意到jQuery的:没有遵循 大致上(我认为),有两种类型的浏览器端缓存: 过期和缓存控制:最长期限 这些被认为是“无条件应用的‘强缓存头’;也就是说,一旦设置了这些头并下载了资源,浏览器将不会对资源发出任何GET请求,直到到期日或达到最长期限为止。” 最后修改和ETag 这两种方法都提供各种缓存,但Last Modified遵循特定于浏览器的启发式方法,并且ETag需要更多HTTP请求,尽管当返回未修改的请求时,它们的重量可能很轻。无论如何

据谷歌称,我在自己的网站上阅读并玩弄jQuery时,注意到jQuery的:没有遵循

大致上(我认为),有两种类型的浏览器端缓存:

  • 过期和缓存控制:最长期限

    这些被认为是“无条件应用的‘强缓存头’;也就是说,一旦设置了这些头并下载了资源,浏览器将不会对资源发出任何GET请求,直到到期日或达到最长期限为止。”

  • 最后修改和ETag

    这两种方法都提供各种缓存,但Last Modified遵循特定于浏览器的启发式方法,并且ETag需要更多HTTP请求,尽管当返回未修改的请求时,它们的重量可能很轻。无论如何,这两者都可能涉及更多GET请求

  • 静态jQuery版本永远不会更改。所以我认为它应该有一个遥远的未来。更重要的是,这样一个可以跨多个站点使用的资产在理想情况下不需要新的GET请求(即使它对于检查ETAG有效性来说很小)

    似乎只使用了一个ETag,没有缓存控制或Expires标头:

    Status: HTTP/1.1 200 OK
    Accept-Ranges:  bytes   
    Content-Type:   application/x-javascript; charset=utf-8 
    Date:   Mon, 05 Dec 2011 19:45:57 GMT   
    ETag:   "9e69008-16eac-5177b900"    
    Last-Modified:  Tue, 22 Nov 2011 02:11:16 GMT   
    Server: ECS (fra/D59E)  
    Vary:   Accept-Encoding 
    X-Cache:    HIT 
    Content-Length: 93868   
    Connection: close
    
    发件人:


    那么,在这种情况下,有没有理由不设置“远未来过期”标头或使用缓存控制?我是不是误读了什么?或者这是jQuery人员的错误配置?

    ehc,我会谈谈这个问题,但恭敬地指出,这可能不是表达这些问题的最佳场所,因为这不是一个真正的问题?(也许?但是什么呢)

    实际上,我们现在没有使用proCDN-我们使用的是旧的proCDN,它不允许我们自定义任何东西:/But!好消息!他们给我们带来了一些新的东西,procdn(它也有一些统计/跟踪的东西,这会有点整洁)和一些更快的盒子,所以我们应该能够得到更好的缓存-因为你是对的,它现在不是那么好。此外,我们不能做任何自定义标题或类型或任何事情,这是很好的做有时


    听起来你对此做了很多研究-如果你想提供帮助来修复这些设置的话,请在某个时候打开jquery dev(我的用户名是一样的),因为你似乎很有知识,也很有兴趣提供帮助:)

    也许这个问题更适合ServerFault,但希望这里没问题。是的,不是一个很好的问题。。。我会在某个时候联系jquery dev聊天。谢谢