缓存 - 修复浏览器本地缓存页面
Caching - Fix browsers locally caching pages
我有点不确定这里发生了什么,但我会尝试解释发生了什么,一旦我弄清楚我真正要问的是什么,也许会写一个更好的问题。
我刚刚安装了 Varnish,这对我的请求时间来说似乎很棒。这是一个 Magneto 2 商店,我遵循开发文档中 varnish 的默认配置。
我的问题
目前我的问题是浏览器似乎在缓存页面直到我点击刷新。我相信我正在使用 magento / varnish 成功刷新/清除缓存。当使用 Curl 请求页面时,我可以看到每次刷新缓存时都会生成一个新页面,如果不这样做,则只提供缓存页面。
在 chrome 和 firefox 中,但是在我的客户端电脑上,整个页面标记似乎被缓存(当单击 link 到页面或在浏览器中粘贴 url 时)直到单击refresh 这似乎重新加载了真实页面。当部署新的静态文件等时,因为旧资源仍在缓存标记中并且资源的新位置已签名,例如version1234/styles.css 并且与标记不匹配我得到 CSS 更少的页面,直到客户端单击刷新并从服务器加载实际标记?
如何设置缓存以防止这种情况发生?
Curl -IL result of URL:
HTTP/1.1 200 OK
Date: Fri, 24 Nov 2017 12:08:32 GMT
Strict-Transport-Security: max-age=63072000; includeSubdomains
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Expires: Sun, 26 Nov 2017 15:55:17 GMT
Cache-Control: max-age=186400, public, s-maxage=186400
Pragma: cache
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Vary: Accept-Encoding
X-UA-Compatible: IE=edge
Content-Type: text/html; charset=UTF-8
X-Magento-Cache-Control: max-age=186400, public, s-maxage=186400
X-Magento-Cache-Debug: HIT
Grace: none
age: 0
Accept-Ranges: bytes
Connection: keep-alive
由于正在发送这些 headers,请浏览器缓存:
Expires: Sun, 26 Nov 2017 15:55:17 GMT
Cache-Control: max-age=186400, public, s-maxage=186400
您应该调整您的服务器配置,这样就不会为 PHP 发送这些内容。很可能您在 nginx 或 .htaccess 中有一个适用于整个网站的配置块,而不仅仅是静态文件。
我有点不确定这里发生了什么,但我会尝试解释发生了什么,一旦我弄清楚我真正要问的是什么,也许会写一个更好的问题。
我刚刚安装了 Varnish,这对我的请求时间来说似乎很棒。这是一个 Magneto 2 商店,我遵循开发文档中 varnish 的默认配置。
我的问题
目前我的问题是浏览器似乎在缓存页面直到我点击刷新。我相信我正在使用 magento / varnish 成功刷新/清除缓存。当使用 Curl 请求页面时,我可以看到每次刷新缓存时都会生成一个新页面,如果不这样做,则只提供缓存页面。
在 chrome 和 firefox 中,但是在我的客户端电脑上,整个页面标记似乎被缓存(当单击 link 到页面或在浏览器中粘贴 url 时)直到单击refresh 这似乎重新加载了真实页面。当部署新的静态文件等时,因为旧资源仍在缓存标记中并且资源的新位置已签名,例如version1234/styles.css 并且与标记不匹配我得到 CSS 更少的页面,直到客户端单击刷新并从服务器加载实际标记?
如何设置缓存以防止这种情况发生?
Curl -IL result of URL:
HTTP/1.1 200 OK
Date: Fri, 24 Nov 2017 12:08:32 GMT
Strict-Transport-Security: max-age=63072000; includeSubdomains
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Expires: Sun, 26 Nov 2017 15:55:17 GMT
Cache-Control: max-age=186400, public, s-maxage=186400
Pragma: cache
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Vary: Accept-Encoding
X-UA-Compatible: IE=edge
Content-Type: text/html; charset=UTF-8
X-Magento-Cache-Control: max-age=186400, public, s-maxage=186400
X-Magento-Cache-Debug: HIT
Grace: none
age: 0
Accept-Ranges: bytes
Connection: keep-alive
由于正在发送这些 headers,请浏览器缓存:
Expires: Sun, 26 Nov 2017 15:55:17 GMT
Cache-Control: max-age=186400, public, s-maxage=186400
您应该调整您的服务器配置,这样就不会为 PHP 发送这些内容。很可能您在 nginx 或 .htaccess 中有一个适用于整个网站的配置块,而不仅仅是静态文件。