是否有可能以某种方式强制200(缓存)响应而不是304对静态文件进行修改?如果是这样,您可以节省大量的服务器请求,并可以为回访用户加快加载时间。Nginx - “强制”200高速缓存响应而不是304
6
A
回答
1
在Nginx中的服务器上设置expires
指令。在达到到期时间之前,浏览器不会检查服务器。在这一点上,如果静态文件没有改变,服务器仍然可以发回304响应,并且在浏览器再次检查之前必须达到到期时间。
顺便说一下,200响应代码只是表示所请求的资源正在返回。它与任何缓存头是否与HTTP响应一起发送都没有关系。
4
我发现单独过期并没有正确设置行为。下面一直是确保消防:
# Set cache
expires 1M;
add_header Pragma public;
add_header Cache-Control "public";
这会在你需要的位置块..
我也觉得有很多在那里误导此信息..的那200是某种相同200(缓存)。
从我的理解:
200 - 服务器请求 - 转让OK 200(高速缓存) - 确定 - 无服务器请求(从缓存) 304 - 服务器请求 - 不转让(不修改)
200(缓存),据我所知,它根本不会提出服务器请求。
0
200不是缓存响应;它表示成功,它要求响应包含结果。 304表示未修改的资源;也就是说你已经拥有了它,所以没有任何东西会被返回。所以,你的建议应该会导致所有304的伪装成200的失败。即使它不会保存任何请求或加速假冒200响应。
编辑:200在某些情况下,意味着资源已经从成功缓存中获取...
相关问题
- 1. Jetty响应状态200而不是304,而使用http2
- 2. nginx状态码200和304
- 3. 防止200(缓存)响应
- 4. 禁用NGINX缓存304来自原始服务器的响应
- 5. jQuery/AJAX/Chrome/IIS:如何强制高速缓存重新验证(304)?
- 6. jQuery.ajax - 强制高速缓存失效
- 7. AFNetworking 2.0 - 强制高速缓存
- 8. nginx无缓冲区高速缓存
- 9. 缓存控制响应头不强制浏览器缓存
- 10. NSURLCache高速缓存响应问题
- 11. NGINX内存高速缓存时出现
- 12. 浏览器200(缓存)强制重载
- 13. nginx代理不缓存OCSP响应
- 14. Nginx上的Varnish/Symfony3缓存 - 高速缓存前的0 0
- 15. 允许Laravel响应403而不是nginx
- 16. Google云端存储:通过缓存的状态200进行访问,而不是状态304
- 17. cURL - 在我的浏览器中获得200 OK而不是304
- 18. 高速缓存内存大小限制
- 19. AJAX请求的强制高速缓存更新
- 20. 缓存大的PHP文件 - 状态“200 OK”,而不是“304不修改” - 阿帕奇
- 21. nginx的缓存响应与memcached的
- 22. MySQL高速缓存
- 23. Rails Minitest assert_equal 200 || 304
- 24. 浏览器是否曾经做过高速缓存响应时没有返回缓存相关的缓存?
- 25. OKHTTP - 设置高速缓存如何缓存某些改装HTTP响应
- 26. 帮助创建用于测试响应报头,特别是高速缓存控制单元测试,在确定是否高速缓冲已被禁用或不
- 27. 在ASP.NET中强制高速缓存到期的最佳方法是什么?
- 28. .NET应用程序高速缓存vs数据库高速缓存
- 29. 为什么从磁盘缓存中返回http 200代码,既不过期也不响应头缓存控制?
- 30. 节点的js,浏览器缓存和304响应
我有到期设定为2周,但谷歌Chrome的开发工具仍然显示304名的请求,而不是200码。它是否提供虚假信息? – ustun 2012-05-16 16:19:02