2013-02-27 26 views
2

我的測試用例只是添加到頭部的HTML腳本標記,但基本上iOS Safari上的每個HTTP請求都沒有設置Accept-Encoding標頭。iOS 6.1 Safari沒有設置Accept-Encoding

我使用Paros跟蹤了HTTP請求,並驗證了請求確實發送到我們的Nginx服務器並帶有下面的標頭。

HTTP請求:

GET http://www.website.com/8EF47773B9E25308C1F124FF701E607A.cache.js HTTP/1.1 
Host: www.website.com 
Referer: http://www.website.com 
Proxy-Connection: keep-alive 
Accept: */* 
Accept-Language: en-us 
Connection: keep-alive 
User-Agent: Mozilla/5.0 (iPad; CPU OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B141 

HTTP響應:

HTTP/1.1 200 OK 
Accept-Ranges: bytes 
Cache-Control: max-age=2592000 
Cache-Control: private 
Content-Type: application/x-javascript 
Date: Tue, 26 Feb 2013 22:56:39 GMT 
Expires: Thu, 28 Mar 2013 22:56:39 GMT 
Last-Modified: Mon, 25 Feb 2013 17:54:27 GMT 
Server: nginx/1.2.3 
Content-Length: 1042909 
Connection: keep-alive 

僅僅加入 「的Accept-Encoding:gzip的,放氣」 與上述(使用捲曲)完全相同的請求頭會回來用一個gzip的迴應。

這也只發生在設備上;使用iOS模擬器將添加適當的Accept-Encoding標頭。

這是iOS Safari的預期行爲嗎?我已經在網上搜索了更多關於這方面的信息,結果很少。

+0

該代理可能會干擾事物。你能不能重新測試? – duskwuff 2013-02-27 02:07:15

+0

是的,自然30分鐘後,我發現Paros代理拋出所有Accept-Encoding標頭。用CharlesProxy驗證它確定,一切工作正常。多浪費時間! – 2013-02-27 02:30:22

回答

0

Paros代理拋出所有Accept-Encoding標頭。