我有一个使用 Pythonhttp.server
模块的网站,它运行良好。今天早些时候,我想让 2 个用户处理相同的文件(HTML、CSS、JS),所以我将chmod
标签设置为777
。
问题是,CSS 内容现在仅在启动新的浏览器会话时更新,而 HTML 内容每次刷新页面时都会更新,没有任何问题。
我尝试过:
Ctrl+F5
使用/清除浏览器缓存Shift+F5
- 将文件的所有权更改为包含编辑器用户的组(使用
chgrp
) - 删除 Nginx 中的缓存
- 删除 Cloudflare 中的缓存
如果您需要任何其他信息,我很乐意提供。
在您采取服务器设置、配置、切换等困难的路线之前,如果您确实需要保留此服务器设置,请尝试使用 HTML 代码中的元标记和查询参数来解决它。
并请注意评论中的安全警告,因为您的服务器设置并不理想!
尝试这两个选项。
1. HTML 头部的元标记(禁用缓存)
将这些元标记添加到 HTML 文件的部分以完全禁用缓存:
这可确保浏览器不会缓存任何文件,包括 CSS。
这可能只适用于 HTML 文件本身,而不一定适用于 CSS 或 JS 等外部资源。
2. 将查询版本附加到 CSS 链接
一种更简单、更有效的方法是将版本控制查询附加到 CSS 链接。每次更新 CSS 时,增加版本号:
<link rel="stylesheet" href="styles.css?v=1.0.1">
更新 CSS 时,更改版本号:
<link rel="stylesheet" href="styles.css?v=1.0.2">
浏览器将
styles.css?v=1.0.1
和styles.css?v=1.0.2
视为两个不同的文件并加载新的版本/文件。您只需要在更新 CSS 时增加 HTML 代码中的版本号。
这种方法快速、有效,并且在大多数情况下都有效。
两者的示例: