gpt4 book ai didi

performance - 过期和 CDNS - YSlow 问题

转载 作者:行者123 更新时间:2023-12-03 15:18:49 25 4
gpt4 key购买 nike

首先让我提一下,我已经做了一些挖掘,但似乎无法找到我要寻找的正确答案。

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

  • 谷歌分析 (//www.google-analytics.com/analytics.js)
  • 最新的 jQuery 版本 ( http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js )
  • Google 字体 ( http://fonts.googleapis.com/css?family=Lato:400,300 )

  • 使用内容交付网络 (CDN)

    我在“使用内容交付网络 (CDN)”上获得了“F”级。不一样的 SO Post链接到 YSlow FAQ ( direct link ) 但这似乎表明我需要在我的浏览器上定义我的 CDN,这对我来说似乎是一个快速修复,但这并不能解决其他浏览器和/或设备上的问题.

    添加过期标题

    至于“添加过期标题”等级,我得到了 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似乎表明这是不可能的,或者我调用本地脚本,在那里我使用我的带宽加载(和缓存)所需的外部文件。

    所以,考虑到这些事情,这就是我正在看的:
  • 外部资源应该是 CDN 的,但 YSlow 读取我的本地首选项,这会因用户而异,所以我需要一个替代 about:config 的方法。 YSlow官网提出的解决方案。
  • 过期是由文件所在的服务器设置的,所以我似乎无权定义它的过期值。因此,从我收集到的信息来看,我可以将这些文件传送到我的服务器上,或者使用本地 PHP 文件并从位于我的服务器的上述 PHP 文件中缓存它,但这似乎不是最佳选择。有没有办法解决这个问题?
  • 最佳答案

    简短的回答:

    当您像这样从外部服务器加载资源时,您无法控制太多,但对于您的站点来说可能仍然没问题。使用像 YSlow 这样的工具时,重要的是不要让所有事情都陷入“A”级。最好理解该工具给您的提示,并相应地做出决定。

    更长的答案:

    内容交付网

    YSlow 将报告它不识别为 CDN 的任何域的较低等级。您可以 add CDN hostnames ,那么它会反射(reflect)一个更好的等级。我要加 fonts.googleapis.comajax.googleapis.com因为两者的行为都像 CDN。将其视为在您的 YSlow 副本中保存首选项。在此处添加域实际上并不会改变您的表现,只会提高您的分数。

    过期标题

    您无法控制从其他站点加载的内容的过期 header 。您可以考虑的选项:

  • 继续使用外部网站;在这种情况下,这些行为非常好,您的表现可能会非常好。忽略 YSlow 给你的低分。
  • 在本地托管您的字体和 jQuery 文件,然后设置远期到期标题,如您在 .htaccess 中所示.这会给你一个更好的 YSlow 等级,但如果你的服务器比 CDN 慢,实际性能可能会更差。 (见此 SO question)
  • 使用外部网站但调整您的网址;在 jQuery 的情况下,如果您指定更多版本级别(1.8.0 而不是 1.8),您将获得一个远期到期 header (请参阅此 SO question)
  • 关于performance - 过期和 CDNS - YSlow 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22045045/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com