将“?v=1”附加到链接和脚本标签中的 CSS 和 JavaScript URL:资源版本控制指南
浏览器加载缓存默认情况下使用 Web 资源以提高性能。但是,当部署这些资源的更新版本时,这可能会成为一个问题。将“?v=1”之类的查询字符串附加到 CSS 和 JavaScript 文件的 URL 会强制浏览器下载更新版本。
工作原理
当浏览器遇到带有查询字符串的 URL,即使 URL 的其余部分相同,它也会将其视为唯一资源。通过在 URL 末尾添加“?v=1”,可以确保浏览器始终下载最新版本的文件。
为什么有些 URL 缺少“?v=1”
并非所有 JavaScript URL 都可以附加“?v=1”。这可能是由于多种原因造成的:
- 第三方库:开发人员可能无法控制这些库的版本控制策略。
- 内容分发网络 (CDN):某些 CDN 实现自己的缓存机制,可能不支持查询字符串
- 长期缓存:如果资源不太可能频繁更改,开发者可以选择设置较长的缓存头并避免使用查询字符串。
版本控制的好处资产
- 强制浏览器更新:无论浏览器缓存如何,用户将始终看到最新版本的 CSS 和 JavaScript 文件。
- 促进部署:开发人员可以部署其资产的新版本,而无需担心缓存
- 提高安全性:通过强制浏览器加载最新版本,可以缓解旧版本中的漏洞。
- 提高性能:通过避免缓存命中过时的文件,浏览器可以加载更多网站
最佳实践
- 对所有经常更新的 CSS 和 JavaScript 文件使用“?v=1”。
- 考虑使用包含时间戳或文件哈希的版本控制系统以提高准确性。
- 设置用于长期缓存静态资源的适当缓存标头。
以上是将'?v=1”附加到 CSS 和 JavaScript URL 如何提高网站性能和安全性?的详细内容。更多信息请关注PHP中文网其他相关文章!

使用滚动阴影,尤其是对于移动设备,是克里斯以前涵盖的一个微妙的UX。杰夫(Geoff)涵盖了一种使用动画限制属性的新方法。这是另一种方式。

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

记事本++7.3.1
好用且免费的代码编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Dreamweaver CS6
视觉化网页开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。