【发布时间】:2015-02-15 03:04:34
【问题描述】:
我使用“google pagespeed 见解”来获得有关我的网站(php 网站)的建议。一个建议是“使用浏览器缓存存储以下可缓存资源:http://connect.facebook.net/en_US/sdk.js”。我知道如何使缓存为本地资源工作(我在 .htaccess 文件中使用 ifmodule mod_expires.c)。但是当资源是远程第三方时怎么办呢?
【问题讨论】:
我使用“google pagespeed 见解”来获得有关我的网站(php 网站)的建议。一个建议是“使用浏览器缓存存储以下可缓存资源:http://connect.facebook.net/en_US/sdk.js”。我知道如何使缓存为本地资源工作(我在 .htaccess 文件中使用 ifmodule mod_expires.c)。但是当资源是远程第三方时怎么办呢?
【问题讨论】:
我认为你把事情搞糊涂了。
首先,您无法控制浏览器缓存。您唯一能做的就是通过标头告诉浏览器您所服务的资源可以被缓存。由浏览器来遵循这些说明。
其次,远程资源是……嗯……远程!所以你并没有真正控制它们。当然,您可以通过您的服务器代理它们并添加适当的缓存控制标头,但这违背了分布式交付的目的。
现在,通常为了加速 PHP 页面,您使用某种 SERVER-SIDE 缓存机制 (see the list on wikipedia)。服务器端缓存可以通过多种方式工作,几乎是任何现代中型 php wwebsite 的要求。
【讨论】: