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