过期和CDNS-YSlow问题

问题描述 投票:14回答:3

让我先说一下,我已经做了一些挖掘工作,但是似乎找不到我想要的正确答案。

我正在使用一些外部资源的网站上工作:

使用内容分发网络(CDN)

我在“使用内容传送网络(CDN)”上获得“ F”等级。一个不同的SO Post链接到YSlow常见问题解答(direct link),但这似乎表明我需要在浏览器上定义CDN,这似乎是我的快速解决方案,但这不能解决其他问题浏览器和/或设备。

添加过期标题

至于“ Add Expires headers”等级,我得到E。问题是,这就是我得到的:

There are 3 static components without a far-future expiration date.

(2014/2/26) http://fonts.googleapis.com/css?...
(2014/2/26) http://www.google-analytics.com/analytics.js
(2014/2/26) http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js

我将如何纠正此问题?我的本地文件全部由我的.htaccess处理,如下所示:

AddType image/x-icon .ico

ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/ico "access plus 1 year"
ExpiresDefault "access plus 7 days"

<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
    # access plus 1 year
    Header set Cache-Control "max-age=31536000"
</FilesMatch>

SO post似乎表明这是不可能的,或者我调用了一个本地脚本,在该脚本中我使用自己的带宽来加载(和缓存)所需的外部文件。

因此,请牢记这些,这就是我正在查看的内容:

  1. 外部资源应该是CDN的资源,但是YSlow会读取我的本地首选项,这会因用户而异,因此我需要YSlow官方网站提出的about:config解决方案的替代方案。
  2. 到期时间是由文件所在的服务器设置的,因此我似乎无权定义它的到期值。因此,从我收集的数据来看,我可以使用本地PHP文件将这些文件携带到服务器上,并使用位于服务器中的所说PHP文件对其进行缓存,但这似乎并不是最佳选择。有没有办法解决这个问题?
首先要说的是,我已经做了一些挖掘工作,但似乎找不到我想要的正确答案。我正在使用一些外部资源的网站上工作:Google Analytics(分析)(...
performance cdn yslow
3个回答
39
投票
简短回答:

0
投票
任何人都可以用实际的编码来解释,如何将代码放在哪个文件中请解释
© www.soinside.com 2019 - 2024. All rights reserved.