Webstorm的内置Web服务器文件缓存设置?

时间:2015-07-11 21:07:28

标签: google-chrome caching webserver webstorm

工具: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仍将产生缓存版本。

尝试

  1. 编辑运行/调试配置。我没有看到与我正在寻找的相关的东西。
  2. 我尝试查找网络服务器设置以手动设置响应标头。 "文件" > "设置" >> "构建执行部署" > "部署"没有配置服务器。我认为这是为了远程推动。
  3. 猜测: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
    

1 个答案:

答案 0 :(得分:0)

WebStorm内置服务器发送 1)缓存控制:“私有,必须重新验证” 2)last-modified:文件最后修改。

我看到两个可能的原因: 1)WebStorm发送最后修改的错误文件(我们使用虚拟文件系统)。 index.html是在WebStorm内部还是外部编辑的? 2)也许是谷歌Chrome的错误。在这种情况下,我们可以添加选项以禁用“if since modified since”支持并始终发送“Expires:0”。

请检查网络标题吗?