【问题标题】:Why do these files have random strings for filenames?为什么这些文件的文件名有随机字符串?
【发布时间】:2012-11-29 00:12:57
【问题描述】:

我遇到过这样的 CSS 和 JS 文件名的网站:

css_pbm0lsQQJ7A7WCCIMgxLho6mI_kBNgznNUWmTWcnfoE.css

是什么原因造成的,或者你为什么要这样做?

编辑:以下每个答案中的一些可能适用于这种情况,但鉴于我发现的网站,服务/缓存方法似乎是最准确的。

【问题讨论】:

    标签: javascript css filenames


    【解决方案1】:

    版本控制并确保提供正确版本的静态资源。 如果您有一个高流量网站并且为大量用户提供服务,那么您将拥有多层缓存:CDN、缓存文件头等。

    有时很难使具有相同文件名的缓存失效。服务器可能会传递正确的标头,但客户端可能会忽略它们并仍然加载缓存版本。提供不同的文件名可以防止这种情况发生,并确保您拥有正确版本的 css/js 和其他静态资源。

    【讨论】:

      【解决方案2】:

      正如您可能知道的那样,没有人想出这个名字。

      通常是 将多个 CSS 文件合并到一个文件中的结果。这是 出于性能原因(请求一个文件比请求两个文件更快。)

      该名称可能是确定性算法的结果 输入(即a hash),这样如果您再次执行组合但没有更改CSS,输出将被赋予相同的名称。

      当内容(CSS)改变时,输出文件的名称也会改变。 这很有用,因为它使浏览器无法缓存 旧版本。

      【讨论】:

        【解决方案3】:

        看起来文件是在服务器端生成的,用于缩小。

        您正在访问的网站可能有多个 CSS 文件(可能结合了@import 语句)和 JS 文件(jQuery、jQuery UI、jQuery 插件、一些自定义代码等) - 而不是让开发人员手动缩小并结合服务器可能为它们执行的文件(例如,ASP.NET 4.5 执行此操作)。在这种情况下,它使用任意(随机?基于 GUID?)文件名来确保它不会与任何内容冲突。

        【讨论】:

          【解决方案4】:

          可能是网站使用的技术。

          即如果你使用 gwt(它是一些用 javscript 编译的 java)或其他预处理一些代码并输出 javascript 的东西,你可能会得到奇怪的文件名。

          【讨论】:

            猜你喜欢
            • 2015-08-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-04-22
            • 2014-09-15
            相关资源
            最近更新 更多