【问题标题】:Caching specific Javascript and CSS files缓存特定的 Javascript 和 CSS 文件
【发布时间】:2011-11-24 08:34:31
【问题描述】:

如何缓存一些特定的 JavaScript 和 CSS 文件。我从这个网站找到了建议,把它放在我的 .htaccess 文件中

AddOutputFilter DEFLATE css js
ExpiresActive On
ExpiresByType application/x-javascript A2592000

但它是不完整的。 .htaccess 是什么?如何在我的 Web 根文件夹中创建它,将它存储在哪里?

以下语句的含义是什么:

AddOutputFilter DEFLATE css js
ExpiresActive On
ExpiresByType application/x-javascript A2592000

我不想缓存我所有的 Javascript 和 CSS 文件,而只想缓存一些永远不会改变的特定文件。

我该怎么做?

【问题讨论】:

  • 您使用的是什么网络服务器? .htaccess 是 Apache Web 服务器的控制文件。如果您使用的是 IIS,则没有任何意义。
  • 我将使用 IIS...所以请告诉我应该怎么做。我需要在我的 asp.net 文件中写入以缓存一些特定的 js 和 css 文件。请详细讨论。谢谢

标签: asp.net iis browser-cache


【解决方案1】:

这很酷,我无论如何都会添加文件修订并让 IIS 缓存 css + js 文件。 正如伊卡洛斯指定的那样。

然后,如果您更新服务器上的文件,只需添加一个新的修订号,这也可能是一个时间戳。

【讨论】:

    【解决方案2】:

    您可以将 IIS 配置为按扩展名缓存特定文件。例如:

    选择您的 css/js 文件所在的文件夹,然后单击输出缓存。

    然后添加你要缓存的文件扩展名:

    我不认为你可以指定每个文件缓存哪些,除非你编写一个 http handler 模块来为每个文件独立添加适当的头文件,但是从 IIS 这就是如何完成了。

    然后您可以使用 firebug / fiddler 或您选择的工具验证您是否收到 304 响应。

    我希望这会有所帮助。

    【讨论】:

    • 我可以通过 http 处理程序缓存 js 和 css 文件吗....如果可以的话,可以为我指出任何好的文章。
    • @user750398 看这篇文章:blog.sb2.fr/post/2008/11/21/…
    • Output Caching 与控制浏览器缓存不同。它们完全不同。 Output Caching 允许 IIS 在内部缓存动态页面内容,以便它可以更快地将其提供给客户端。它对客户端的浏览器缓存没有影响。
    【解决方案3】:
    1. AddOutputFilter DEFLATE:输出被压缩(通常是 gzip)之前 在这种情况下发送到服务器 css & js 你的 css 和 js。
    2. ExpiresActive On:将 Expires 和缓存控制标头设置为 On
    3. ExpiresByType:将本例中 application/x-javascript 的内容类型的过期规则设置为一个月 A2592000 => 24 * 3600 * 30 其 in ms

    我建议不要通过 .htaccess 处理特定的 js,而是应该在你的 js 文件中添加一个修订号,ala:

    <script src="link/to/file.js?rev=xxx"></script>

    然后,当您更新文件时,只需更新版本号。 并且您的客户将自动获得新文件。

    资源:

    【讨论】:

      猜你喜欢
      • 2011-09-12
      • 2022-01-02
      • 2011-06-21
      • 2014-07-29
      • 1970-01-01
      • 2014-02-03
      • 1970-01-01
      • 2012-08-24
      • 1970-01-01
      相关资源
      最近更新 更多