Google Page Speed 消息:https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js (1 小时)

Google Page Speed 消息:https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js (1 小时)

Google Page Speed 告诉我仅针对此对象利用浏览器缓存:

https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js(1小时)

由于这是从外部服务器提供的,我想我不能告诉浏览器在访问我的网站时缓存它?我正在使用 IIS7,并且已经实施了 7 天的缓存(根据此处列出的配置https://stackoverflow.com/questions/642954/iis7-cache-control),

因此,我应该将文件复制到我的网络服务器,然后在那里引用和缓存它吗?

答案1

将 HTML 中的 URL 从

https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js

//ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js

解释:

  • 开头的“而不是//https://是一种简写形式,所有主流浏览器都支持这种形式,这意味着“与父页面使用的协议相同”。换句话说,如果您自己的网站使用 SSL,那么 jQuery 将通过 SSL 提供。如果没有,那么您的用户将使用纯 HTTP 访问 jQuery,并受益于未加密 HTTP 的更快连接设置。

  • 当提供具有完整版本号(1.6.0部分)的内容时,Google 的 CDN 将自动使用长缓存标头。您使用的 URL 表示“1.6 系列中的最新版本”,并使用较短的缓存标头,以便 Google 在 jQuery 发布新版本时能够快速更新。

你可以用 Rex Swain 的HTTP 查看器如果你愿意的话。(注意:这个 HTTP 查看器不支持简写//,但浏览器支持。)

答案2

这里有两个观点:

  • 使用 Google 的 URL,您可以确信客户端已经在其浏览器的缓存中拥有该文件(因为其他网站链接了同一个文件)。

  • 使用您自己的网络服务器,您可以自己调整,但您知道每个新访问者都必须从您那里下载文件。

这确实是一个值得思考的有趣问题,但我个人更喜欢自己提供内容,因为使用了过期标头/压缩/重写规则/等等......

相关内容