【发布时间】:2012-11-29 00:12:57
【问题描述】:
我遇到过这样的 CSS 和 JS 文件名的网站:
css_pbm0lsQQJ7A7WCCIMgxLho6mI_kBNgznNUWmTWcnfoE.css
是什么原因造成的,或者你为什么要这样做?
编辑:以下每个答案中的一些可能适用于这种情况,但鉴于我发现的网站,服务/缓存方法似乎是最准确的。
【问题讨论】:
标签: javascript css filenames
我遇到过这样的 CSS 和 JS 文件名的网站:
css_pbm0lsQQJ7A7WCCIMgxLho6mI_kBNgznNUWmTWcnfoE.css
是什么原因造成的,或者你为什么要这样做?
编辑:以下每个答案中的一些可能适用于这种情况,但鉴于我发现的网站,服务/缓存方法似乎是最准确的。
【问题讨论】:
标签: javascript css filenames
版本控制并确保提供正确版本的静态资源。 如果您有一个高流量网站并且为大量用户提供服务,那么您将拥有多层缓存:CDN、缓存文件头等。
有时很难使具有相同文件名的缓存失效。服务器可能会传递正确的标头,但客户端可能会忽略它们并仍然加载缓存版本。提供不同的文件名可以防止这种情况发生,并确保您拥有正确版本的 css/js 和其他静态资源。
【讨论】:
正如您可能知道的那样,没有人想出这个名字。
通常是 将多个 CSS 文件合并到一个文件中的结果。这是 出于性能原因(请求一个文件比请求两个文件更快。)
该名称可能是确定性算法的结果 输入(即a hash),这样如果您再次执行组合但没有更改CSS,输出将被赋予相同的名称。
当内容(CSS)改变时,输出文件的名称也会改变。 这很有用,因为它使浏览器无法缓存 旧版本。
【讨论】:
看起来文件是在服务器端生成的,用于缩小。
您正在访问的网站可能有多个 CSS 文件(可能结合了@import 语句)和 JS 文件(jQuery、jQuery UI、jQuery 插件、一些自定义代码等) - 而不是让开发人员手动缩小并结合服务器可能为它们执行的文件(例如,ASP.NET 4.5 执行此操作)。在这种情况下,它使用任意(随机?基于 GUID?)文件名来确保它不会与任何内容冲突。
【讨论】:
可能是网站使用的技术。
即如果你使用 gwt(它是一些用 javscript 编译的 java)或其他预处理一些代码并输出 javascript 的东西,你可能会得到奇怪的文件名。
【讨论】: