Pul*_*tal 46 html webserver caching
我在特定服务器上托管了一个网页index.html.我指出example.com了example.com/index.html.因此,当我在index.html中进行更改并保存它,然后尝试打开example.com时,不会反映更改.网页被缓存的原因.
然后我手动刷新页面,因为它加载了新的副本,而不是从缓存,它工作正常.但我不能要求我的客户这样做,他们希望一切都很完美.所以我的问题是,我是如何从服务器而不是从缓存中每次加载文件的技巧或技巧?
PS:我知道CSS,JS和图像文件的技巧,即附加?v=1但不知道如何为index.html执行此操作.
任何帮助,将不胜感激.谢谢!
don*_*yor 46
这样:
<meta http-equiv="expires" content="0">
Run Code Online (Sandbox Code Playgroud)
将内容设置为"0"表示浏览器始终从Web服务器加载页面.
小智 8
meta标签对我没有用.我从实现过滤器或控制器的java类中设置标头.它起作用了.这是代码
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1
httpResponse.setHeader("Pragma", "no-cache"); // HTTP 1.0
httpResponse.setDateHeader("Expires", 0); // Proxies.
Run Code Online (Sandbox Code Playgroud)
小智 5
截至2018年,只有两种最可靠的方法可用
1)**<meta http-equiv="expires" content="0">**使用此meta标记,但要小心,因为一旦浏览器处理了网页,此标记就会破坏页面的所有缓存。
2)在服务器上为每个页面请求生成一个唯一的ID,并将该ID附加在HTML文档中所有文件名的末尾,并带有??唯一ID附加在每次需要从服务器加载的图片,文档,css / js文件,视频等之前。例如,如果您具有HTML标签,<img src="images/profile223.jpg" alt="profile picture">则在服务器端将唯一ID附加到文件名的末尾,如下所示echo '<img src="images/profile223.jpg?'.$uniqueid.'"" alt="profile picture">';。在此示例中,我使用php,但您可以在任何语言上生成唯一ID。所有大公司(例如Google,Facebook,Microsoft,Twitter等)都使用此技术,因为这是最有效的方法,并且不会影响您要存储在用户浏览器中的缓存数据(例如登录会话ID)。此技术与跨浏览器兼容,并支持IE,Firefox,Chrome,Safari和Opera的较早版本。 您可以使用相同的技术在网址末尾附加唯一ID
| 归档时间: |
|
| 查看次数: |
34464 次 |
| 最近记录: |