Google网站管理员工具利用缓存功能

时间:2015-04-20 23:56:37

标签: node.js cache-control google-webmaster-tools

我不理解这些反馈。我已经为静态资源启用了24小时缓存。那我为什么要看到反馈呢?缓存太短了吗?

Screen dump from Web Master tools

其中一个受影响资源的标题:

Response headers
----------------
Accept-Ranges:bytes
Cache-Control:public, max-age=86400
Connection:keep-alive
Content-Length:2123
Content-Type:image/png
Date:Mon, 20 Apr 2015 23:51:45 GMT
ETag:W/"84b-3727224626"
Last-Modified:Mon, 20 Apr 2015 12:57:43 GMT

Request Headers
---------------
Accept:image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,da;q=0.6
AlexaToolbar-ALX_NS_PH:AlexaToolbar/alxg-3.3
Cache-Control:no-cache
Connection:keep-alive
Cookie:xxxxxxx
DNT:1
Host:xxxxxxxxx
Pragma:no-cache
Referer:http:xxxxxxxxxx
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36 

这就是我在Node.js中设置缓存的方法:

app.use(express.static(path.join(__dirname, '../', config.get('staticContentPath')), {
        maxAge: (60 * 60 * 24) * 1000 // 24 hrs x 1000 because Express middleware expects miliseconds and not seconds
    }));

1 个答案:

答案 0 :(得分:1)

我相信你的假设是正确的。

Here它说:

  

当PageSpeed Insights检测到您的服务器的响应未包含缓存标头或指定资源仅在短时间内缓存时,会触发此规则。

进一步向下:

  

对于静态资产或不经常更改的资产,我们建议最短缓存时间为一周,最好长达一年。如果您需要精确控制资源何时无效,我们建议您使用网址指纹识别或版本控制技术 - 请参阅上面的invalidating and updating cached responses链接。