gpt4 book ai didi

php - Google Chrome 对缓存的审核

转载 作者:IT王子 更新时间:2023-10-29 00:13:24 32 4
gpt4 key购买 nike

如果我使用 Google Chrome 对我的网站进行审核,我会在利用浏览器缓存部分收到此消息:

The following resources are missing a cache expiration. Resources that do not specify an expiration may not be cached by browsers:

所有图片的列表如下。我在利用代理缓存中收到了类似的通知:

Consider adding a "Cache-Control: public" header to the following resources:

除了图片,我还收到有关 HTML、CSS 和 JavaScript 文件的通知:

The following resources are explicitly non-cacheable. Consider making them cacheable if possible:

这很有趣,因为我努力缓存所有静态内容(图片除外,我只是保留了 Apache 的默认设置)。 Firefox 确实将所有这些项目存储在缓存中。

我的 HTTP header 有什么我应该改进的吗?


这是移除浏览器缓存后加载的一些项目的完整 header 集。图片使用我之前没有真正检查过的默认设置,其余的应该缓存三个小时。我可以使用 .htaccessPHP 设置 header 。

PNG

HTTP/1.1 200 OK
Date: Sat, 31 Jul 2010 12:46:14 GMT
Server: Apache
Last-Modified: Thu, 18 Mar 2010 21:40:54 GMT
Etag: "c48024-230-4821a15d6c580"
Accept-Ranges: bytes
Content-Length: 560
Keep-Alive: timeout=4
Connection: Keep-Alive
Content-Type: image/png

HTML

HTTP/1.1 200 OK
Date: Sat, 31 Jul 2010 12:46:13 GMT
Server: Apache
X-Powered-By: PHP/5.2.11
Expires: Sat, 31 Jul 2010 15:46:13 GMT
Cache-Control: max-age=10800, s-maxage=10800, must-revalidate, proxy-revalidate
Content-Encoding: gzip
Vary: Accept-Encoding
Last-Modified: Wed, 24 Mar 2010 20:30:36 GMT
Keep-Alive: timeout=4
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=ISO-8859-15

CSS

HTTP/1.1 200 OK
Date: Sat, 31 Jul 2010 12:48:21 GMT
Server: Apache
X-Powered-By: PHP/5.2.11
Expires: Sat, 31 Jul 2010 15:48:21 GMT
Cache-Control: max-age=10800, s-maxage=10800, must-revalidate, proxy-revalidate
Content-Encoding: gzip
Vary: Accept-Encoding
Last-Modified: Thu, 18 Mar 2010 21:40:12 GMT
Keep-Alive: timeout=4
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/css

JavaScript

HTTP/1.1 200 OK
Date: Sat, 31 Jul 2010 12:48:21 GMT
Server: Apache
X-Powered-By: PHP/5.2.11
Expires: Sat, 31 Jul 2010 15:48:21 GMT
Cache-Control: max-age=10800, s-maxage=10800, must-revalidate, proxy-revalidate
Content-Encoding: gzip
Vary: Accept-Encoding
Last-Modified: Thu, 18 Mar 2010 21:40:12 GMT
Keep-Alive: timeout=4
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/x-javascript

更新

我已经测试了 Jumby 的建议并将我的 CSS 的到期时间设置为 1 年:

Cache-Control:max-age=31536000, s-maxage=31536000, must-revalidate, proxy-revalidate
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:4198
Content-Type:text/css
Date:Mon, 02 Aug 2010 20:48:56 GMT
Expires:Tue, 02 Aug 2011 20:48:56 GMT
Keep-Alive:timeout=5, max=99
Last-Modified:Thu, 18 Mar 2010 20:40:12 GMT
Server:Apache/2.2.14 (Win32) PHP/5.3.1
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.1

但是,Chrome 仍然声明“显式不可缓存”。

最佳答案

对于 yslow/页面速度问题,3 小时到期时间可能不够“时间”​​,他们可能会提示。我已经在我的网站上看到过 4 小时过期和 yslow 的静态内容(还没有尝试过谷歌的东西)。

大多数人都想要过期时间长(比如 1 年)的版本化静态内容;见here

关于php - Google Chrome 对缓存的审核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3378177/

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