Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
浏览器刷新会破坏绑定的javascript_Javascript_Asp.net_Google Chrome_Iis - Fatal编程技术网

浏览器刷新会破坏绑定的javascript

浏览器刷新会破坏绑定的javascript,javascript,asp.net,google-chrome,iis,Javascript,Asp.net,Google Chrome,Iis,我在我们的网站上添加了ASP.NET javascript捆绑和切碎,发现现在如果我刷新网站,捆绑的javascript文件会作为gzip下载,但不会被浏览器解压缩,因此该网站当然无法工作,因为javascript仍然是压缩的。如果我再次刷新,该网站是好的。再次刷新,腐败。来回地这只发生在Chrome和Safari中,而不是IE中 在Fiddler中观察,IE第一次获取javascript,随后刷新返回304 not modified,这是正确的。Chrome/Safari刷新会持续为每次刷新返

我在我们的网站上添加了ASP.NET javascript捆绑和切碎,发现现在如果我刷新网站,捆绑的javascript文件会作为gzip下载,但不会被浏览器解压缩,因此该网站当然无法工作,因为javascript仍然是压缩的。如果我再次刷新,该网站是好的。再次刷新,腐败。来回地这只发生在Chrome和Safari中,而不是IE中

在Fiddler中观察,IE第一次获取javascript,随后刷新返回304 not modified,这是正确的。Chrome/Safari刷新会持续为每次刷新返回200

如果我在IIS Express中本地运行我的网站,则不会发生此问题。只有在我们的其他QA、登台和生产环境中,网站才由IIS 7.5托管

我做了一个小提琴手比较好的Chrome请求和坏的Chrome请求,看看有什么不同。它们是相同的,除了错误请求具有“If Modified-Since”头

当“If Modified Since”头出现时,服务器的响应的内容类型为“application/javascript”,我认为这是导致问题的原因,浏览器不知道应该解压缩响应体

以下是良好的请求和响应(为简洁起见,正文省略):

GEThttps://wwwq.website.com/Scripts/main.js?v=z3QOtK2bjf3mvSQyLf2KY82lAidw4JR0ePo01WHF93U1 HTTP/1.1
主持人:www.website.com
连接:保持活力
接受:*/*
用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/48.0.2564.97 Safari/537.36
DNT:1
推荐人:https://www.website.com/
接受编码:gzip、deflate、sdch
接受语言:en-US,en;q=0.8
Cookie:
HTTP/1.1200ok
日期:2016年2月5日星期五格林尼治标准时间13:46:30
服务器:Microsoft IIS/7.5
缓存控制:公共
内容类型:text/javascript;字符集=utf-8
到期时间:2017年2月4日星期六13:46:31 GMT
最后修改:2016年2月5日星期五13:46:31 GMT
更改:用户代理,接受编码
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
通过:1.1 wwwq.website.com(访问网关-ag-2772908347919084-467794)
保持活动状态:超时=300,最大=99
连接:保持活力
内容长度:62702
以下是错误的请求和响应(为简洁起见,正文省略):

GEThttps://www.website.com/Scripts/main.js?v=z3QOtK2bjf3mvSQyLf2KY82lAidw4JR0ePo01WHF93U1 HTTP/1.1
主持人:www.website.com
连接:保持活力
缓存控制:最大年龄=0
接受:*/*
用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/48.0.2564.97 Safari/537.36
DNT:1
推荐人:https://www.website.com/
接受编码:gzip、deflate、sdch
接受语言:en-US,en;q=0.8
Cookie:
如果修改自:2016年2月5日星期五13:46:31 GMT
HTTP/1.1200ok
日期:2016年2月5日星期五13:46:43 GMT
服务器:Microsoft IIS/7.5
缓存控制:专用
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
改变:接受编码
通过:1.1 www.website.com(访问网关-ag-2772908347919084-467849)
内容长度:16042
保持活动状态:超时=300,最大=94
连接:保持活力
内容类型:应用程序/javascript
如果有人能帮我的话,我将非常感激我的想法已经没有了。

什么是通过(访问网关…)的
?那是前端的lb/waf/等吗?如果是这样的话,它是否可以做自己的事情(缓存响应等)。您是否可以提出绕过它的请求(直接发送到box)并查看是否存在相同的问题?怀疑这与捆绑有关-已经使用它很长时间了。什么是通过
(访问网关…)的
?那是前端的lb/waf/等吗?如果是这样的话,它是否可以做自己的事情(缓存响应等)。您是否可以提出绕过它的请求(直接发送到box)并查看是否存在相同的问题?毫无疑问,这与捆绑销售有关——已经使用了相当长的一段时间。
GET https://wwwq.website.com/Scripts/main.js?v=z3QOtK2bjf3mvSQyLf2KY82lAidw4JR0ePo01WHF93U1 HTTP/1.1
Host: www.website.com
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36
DNT: 1
Referer: https://www.website.com/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: < cookies omitted >

HTTP/1.1 200 OK
Date: Fri, 05 Feb 2016 13:46:30 GMT
Server: Microsoft-IIS/7.5
Cache-Control: public
Content-Type: text/javascript; charset=utf-8
Expires: Sat, 04 Feb 2017 13:46:31 GMT
Last-Modified: Fri, 05 Feb 2016 13:46:31 GMT
Vary: User-Agent,Accept-Encoding
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Via: 1.1 wwwq.website.com (Access Gateway-ag-2772908347919084-467794)
Keep-Alive: timeout=300, max=99
Connection: Keep-Alive
Content-Length: 62702
GET https://www.website.com/Scripts/main.js?v=z3QOtK2bjf3mvSQyLf2KY82lAidw4JR0ePo01WHF93U1 HTTP/1.1
Host: www.website.com
Connection: keep-alive
Cache-Control: max-age=0
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36
DNT: 1
Referer: https://www.website.com/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: < cookies omitted >
If-Modified-Since: Fri, 05 Feb 2016 13:46:31 GMT


HTTP/1.1 200 OK
Date: Fri, 05 Feb 2016 13:46:43 GMT
Server: Microsoft-IIS/7.5
Cache-Control: private
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Vary: Accept-Encoding
Via: 1.1 www.website.com (Access Gateway-ag-2772908347919084-467849)
Content-Length: 16042
Keep-Alive: timeout=300, max=94
Connection: Keep-Alive
Content-Type: application/javascript