如何缓存远程网页资源实现网页超速?

How to cache remote web resources for web page speeding?

我使用 "google pagespeed insights" 获取关于我的网站(php 站点)的建议。其中一个建议是“使用浏览器缓存存储以下可缓存资源:http://connect.facebook.net/en_US/sdk.js”。我知道如何让缓存为本地资源工作(我在 .htaccess 文件中使用 ifmodule mod_expires.c)。但是资源是远程第三方资源怎么办?

我觉得你把事情弄糊涂了。

首先,您无法控制浏览器缓存。您唯一可以做的就是通过 headers 告诉浏览器可以缓存您提供的资源。浏览器是否遵循这些说明。

其次,远程资源是......嗯......远程!所以你并不能真正控制它们。当然,您可以通过您的服务器代理它们并添加适当的缓存控制 headers,但这种做法违背了分布式交付的目的。


现在,通常要加快 PHP 页面的速度,您会使用某种 SERVER-SIDE 缓存机制 (see the list on wikipedia)。 Server-side 缓存可以通过多种方式工作,并且几乎是任何现代 mid-sized php 网站的要求。