工具:JetBrains' Webstorm 10.0.4 - 一个非常全新的安装,没有插件。 Chrome版本43.该项目是vanilla html,css和js。
问题:在本地调试时,文件有时会在使用内置网络服务器时缓存(我点击运行并将Chrome打开到以下格式的网址:" {{3} }&#34)。按f5将显示缓存版本,但cntl-f5将获取当前版本。
明细:请求标头包含" Cache-Control:max-age = 0" (无意义的?)。使用" file:/// C:/ Users / [Username] /WebstormProjects/WebLayout/index.html"在Chrome中打开文件;似乎没有这个问题,但Web服务器版本上的f5仍将产生缓存版本。
尝试:
猜测:Chrome正在缓存Webstorm的网络服务器文件,因为它没有设置" no-cache"响应标头。我无法找到设置这些选项的位置/方式。
当前修复:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
示例标题: 一般:
Remote Address:127.0.0.1:9129
Request URL:http://localhost:9129/WebLayout/index.html
Request Method:GET
Status Code:200 OK
响应标题:
cache-control:private, must-revalidate
content-length:5674
Content-Type:text/html
date:Mon, 13 Jul 2015 20:43:19 GMT
last-modified:Mon, 13 Jul 2015 01:45:23 GMT
server:WebStorm 10.0.4
请求标题:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,en-GB;q=0.6
Cache-Control:no-cache
Connection:keep-alive
DNT:1
Host:localhost:9129
Pragma:no-cache
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) ... Chrome/43.0.2357.132 Safari/537.36
答案 0 :(得分:0)
我看到两个可能的原因: 1)WebStorm发送最后修改的错误文件(我们使用虚拟文件系统)。 index.html是在WebStorm内部还是外部编辑的? 2)也许是谷歌Chrome的错误。在这种情况下,我们可以添加选项以禁用“if since modified since”支持并始终发送“Expires:0”。
请检查网络标题吗?