为什么有些网站有 link 个文件,例如 "afs342sf.css" 而不是 "main.css"?

Why do some websites have link files like "afs342sf.css" instead of "main.css"?

我部分理解为什么开发人员会有像 afs342sf.css 这样的文件名,而不是像 main.css 这样更易读的文件名 - 我不相信开发人员手动命名文件;我确定它是在插入任何数据库时以编程方式完成的。我对为什么需要这个以及如何调用它感到有点困惑。

如果数据库有 table 并为简单起见排除其他的:

file_id, file_name, file_display_name, file_size.......... etc.

当调用数据时,它使用 file_display_name(afs342sf.css 或简称 afs342sf)作为参考 - href="/yourhost/www/afs342sf.css" - 当有人可以轻松使用相同的 GET 时,到底有什么区别请求信息,还是我把这个理论都弄错了? - 我通常是一个偏执狂(显然对安全有好处)并且让自己感到困惑,因为它也可能是它的 id,但这不是放弃太多了吗?然后想到如果程序根据每个请求更改文件名会怎样?当其他请求传入时它会丢失,并且它没有固定的地址名称吗?

最后但同样重要的是,如果有人可以 post 任何指向有助于秘密或隐藏文件检索方法的页面的链接,我将不胜感激。郑重声明,我没有隐藏 .php 扩展名 - 自学和从受信任的社区学习知识是压倒性的。

没错,它不是手动命名的。像这样的任意文件名通常意味着它们是用 Assetic 这样的工具生成的。这主要用于在放到网络上之前必须转换的文件(SASS 到 CSS;Coffeescript 到 Javascript)。

Assetic 还有一个缓存清除插件,它根据哈希值生成文件名,因此当内容更改时,浏览器将被迫获取新文件(这是一种标准的缓存清除技术)。这很有用,因为静态文件通常有很长的到期日期,并且没有其他方法可以提醒浏览器文件已更改。