在开发特定网站时,我在Firefox中加载网站时出现间歇性问题(无法在IE或Chrome中进行比较).该网站加载了几个javascript文件,css样式表,图像等.偶尔,一个或多个文件无法正确加载.响应表示状态为200 OK,但内容长度表示0.这会在不同时间在不同文件上发生.当它是一个无法加载的javascript文件时,该网站无法正常运行,但仍可能显示内容.当它恰好是无法加载的index.html文件时,Firefox会显示一个带有以下html的空白页面:
<html>
<head></head>
<body><pre></pre></body>
</html>
Run Code Online (Sandbox Code Playgroud)
(我相信这是来自Firefox的默认"空"页面视图)
似乎可以从浏览器缓存中正确获取先前成功的加载,并且响应状态为304 Not Modified.失败后,下次请求资源时,我们会看到200 OK的响应状态,后续请求再次响应304.
以下是Firebug报告的请求/响应标头的示例:
一般成功案例:(响应状态:304未修改,内容长度:288)
请求标题:
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en/q=0.5
Connection: keep-alive
Cookie: JSESSIONID=<shouldn't matter>
Host: ???.???.???.???:8442
If-Modified-Since: Tue, 29 Apr 2014 13:18:26 GMT
If-None-Match: W/"228-1398777506000"
Referrer: https://???.???.???.???:8442/mySite/
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131023 Firefox/17.0
Run Code Online (Sandbox Code Playgroud)
响应标题:
Cache-Control: no-cache
Date: Tue, 29 Apr 2014 13:36:35 GMT
Etag: W/"288-1398777506000"
Expires: Thu, 01 Jan 1970 00:00:00 GMT-00:00
Pragma: No-cache
Server: Apache-Coyote/1.1
Run Code Online (Sandbox Code Playgroud)
缓存中的响应标头:
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 288
Content-Type: text/javascript …Run Code Online (Sandbox Code Playgroud)