Why do these files have random strings for filenames?

隐身守侯 提交于 2020-01-05 07:30:31

问题


I've come across sites with CSS and JS filenames like this:

css_pbm0lsQQJ7A7WCCIMgxLho6mI_kBNgznNUWmTWcnfoE.css

What's causing this or why would you do it?

Edit: Some of each answer below could apply to this scenario, but given the sites I've found this on, serving/caching methods seems the most accurate.


回答1:


Versioning and making sure that correct version of static resources is being served. If you have a high traffic website and you serve lots of users you will have several layers of caching: CDN, caching headers on files, etc.

Sometimes it can be hard invalidating the caches with the same filename. Server might pass the correct headers, but client might disregard them and still load cached version. Serving different file name prevents that and ensures that you have correct version of css/js and other static resources.




回答2:


As you can probably tell, no human came up with that name.

Typically it's the result of combining multiple CSS files into a single file. This is done for performance reasons (requesting one file is faster than requesting two.)

The name is likely to be the result of a deterministic algorithm on the input (i.e. a hash), such that if you perform the combination again but haven't changed the CSS, the output will be given the same name.

When the content (CSS) changes, the name of the output file will change. This is useful because it makes it impossible for a browser to cache the old version.




回答3:


It looks like the file was generated, server-side, for minification.

The website you're visiting might have had multiple CSS files (perhaps combined with @import statements) and JS files (jQuery, jQuery UI, jQuery plugins, some custom code, etc) - rather than have the developer manually minify and combine the files the server might do it for them (ASP.NET 4.5 does this, for example). In this case it uses an arbitrary (random? GUID-based?) filename to ensure it doesn't conflict with anything.




回答4:


It may be the technology used by the website.

i.e. if you use gwt (it's some java compiled in javscript) or something else that preprocess some code and outputs javascript, you will likely to get weird filenames.



来源:https://stackoverflow.com/questions/13616718/why-do-these-files-have-random-strings-for-filenames

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!