【发布时间】:2013-12-30 22:14:08
【问题描述】:
我目前正在尝试研究是在项目中实施 .NET 4.5 捆绑/缩小,还是通过我们之前实施的构建脚本坚持我们的缩小。
在进行 A/B 测试时,我注意到(缩小的)脚本以不同的大小返回,并带有不同的请求。 Chrome 网络选项卡会将相同的请求报告为 1.55MB 或 455KB。将文件保存到磁盘时,Windows 始终以 1,559,907 字节显示文件。
所以我查看了标题并发现了不同之处。请求头是不变的:
GET /WebOpsDev/Scripts/scriptLibsAll.min.js?v=706.19 HTTP/1.1
Host: aburr-dev.pus.local
Connection: keep-alive
Cache-Control: no-cache
Accept: */*
Pragma: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Referer: http://aburr-dev.pus.local/WebOpsDev/Account/LogOn
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: Username=webteam
但响应头不同,具体是“Content-Encoding”头:
HTTP/1.1 200 OK
Cache-Control: max-age=31536000
Content-Type: application/x-javascript
Last-Modified: Mon, 30 Dec 2013 21:38:42 GMT
Accept-Ranges: bytes
ETag: "99439982a75cf1:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Mon, 30 Dec 2013 21:43:44 GMT
Content-Length: 1559907
HTTP/1.1 200 OK
Cache-Control: max-age=31536000
Content-Type: application/x-javascript
Content-Encoding: gzip
Last-Modified: Mon, 30 Dec 2013 21:38:42 GMT
Accept-Ranges: bytes
ETag: "0dd4082a75cf1:0"
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Mon, 30 Dec 2013 21:42:46 GMT
Content-Length: 463804
我的问题是,为什么 gzip 只应用于某些请求而不是全部?为了在每个请求上应用 gzip 需要改变什么?还有它对 XHR 有什么影响?
【问题讨论】:
-
您使用哪些浏览器发出无法传递压缩响应的请求?您的某些用户代理可能是无法解压缩 gzip 内容或 IIS 无法识别为能够解压缩压缩内容的浏览器。
-
嗨@Jerreck,我正在使用 Chrome 并通过“网络”选项卡查看流量。
标签: javascript .net iis gzip