gpt4 book ai didi

javascript - 为什么要使用哈希 CSS 样式表和 Javascript 文件名?

转载 作者:太空狗 更新时间:2023-10-29 15:53:19 27 4
gpt4 key购买 nike

在深入查看一些最流行的网站的代码时,我多次看到,CSS 和 JavaScript 文件名是这样的,

<link type="text/css" rel="stylesheet" href="//sample.com/css/css__k3sYInttBtNNuJgtPSyqaYy9vVxS4qTZLrfs1ujQB9g__SH_QaIH3bnSp3nOw8n8afhszfHJlxVt51qRlrrrOnk0__fBOuweRojwN82z7EY4v-sVsMwU_P_vZSaU3fmyho6Do.css" media="all" />

<script type="text/javascript" src="//sample.com/js/js__-V23Vc4PVahQcqfyxss_rmNogErBARnPCvI7oPXC0qQ__O-yO5Gg8pRRaefl4d0X9qXUJTOSHq0yazxF-4tJCU_k__fBOuweRojwN82z7EY4v-sVsMwU_P_vZSaU3fmyho6Do.js"></script>

好像文件名被散列了,我不知道是什么原因。所以我遇到了以下问题。

  1. 使用这种方法的目的是什么?

  2. 我也见过非常复杂的文件夹名称。这是为什么?

  3. 是否存在任何安全问题?

  4. 我们能否使用 PHP 动态更改文件/文件夹名称以获得最大的安全性?

我对这个领域有点陌生。

最佳答案

您可以假设这些文件/文件夹名称不是开发人员在开发阶段使用的名称,而是文件构建过程的产物。 JavaScript 和 CSS 通常从多个源文件构建到一个文件中,或多或少涉及编译/转译和捆绑步骤。

您希望文件名是/包括文件哈希的原因是,这在文件更改时强制缓存失效。静态文件可以由浏览器、服务器和中间的许多其他代理缓存。这很好,只要文件没有改变。但是,当发布新版本时,应该为用户提供这个新版本。如果资源的文件名发生变化,浏览器将始终从服务器请求文件的新版本,而不是使用缓存版本。

不应依赖像这样的复杂文件名作为安全/授权功能。文件名在应用程序的索引文件中引用,因此为最终用户所知。此外,默默无闻的安全性通常不是一个好主意。

关于javascript - 为什么要使用哈希 CSS 样式表和 Javascript 文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47290012/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com