gpt4 book ai didi

javascript - 服务器响应一个浏览器的 GET 请求,状态为 304,另一浏览器的响应为 200

转载 作者:行者123 更新时间:2023-11-28 01:50:52 26 4
gpt4 key购买 nike

我正在尝试调试我的 .htaccess 文件,其中包含:

<FilesMatch "\.(html|swf)$">
<IfModule mod_headers.c>
Header set Cache-Control "no-cache, public"
</IfModule>
</FilesMatch>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
</IfModule>

重复访问我在 Safari 中看到的同一网页时:

Name=Wrapper.html, Method=GET, Status=200 (OK), Type=text/html

Name=App.html, Method=GET, Status=200 (OK), Type=application/x-shockwave-flash

对于 Chrome:

Name=Wrapper.html, Method=GET, Status=304 (not modified), Type=text/html

Name=App.html, Method=GET, Status=304 (not modified), Type=application/x-shockwave-flash

问题是 Safari 在应该从缓存中检索时从服务器下载,而 Chrome 则正确地从缓存中检索。

那么,如何从服务器获取 Status=304 到 Safari(如 Chrome 所示)? (我猜这是根本原因,如果不是,请告诉我)

更新

我刚刚检查了缓存文件,似乎 Safari 并没有首先将下载的文件放入缓存中,以便在将来访问时使用。不知道为什么。

最佳答案

这与服务器和 htaccess 文件没有任何关系。 Safari 发送的请求需要一个 If-Modified-Since header ,否则如果 Last-Modified 时间早于其中的时间,apache 将不会响应 304请求。

我不知道为什么 Safari 不发送 header ,或者它是否只是偶尔发生或与某处的某些浏览器设置有关。但是you're not the only one that this is happening to .

关于javascript - 服务器响应一个浏览器的 GET 请求,状态为 304,另一浏览器的响应为 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19716391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com