2013-06-19 53 views
2

我使用ASP.NET作爲IOS和Android的服務器,它使用ETag和If-None-Match標題返回304或200。當我在Chrome Dev Tool和遠程調試Android WebView上查看時,每件事情都有效,表示他正在發送If-None-Match請求標頭。但在Safari和遠程調試IOS UIWebView中一樣不會發送If-None-Match標頭。 If-None-Match頭在IOS中不起作用。同樣的結果在SafariiOS UIWebView和Safari不發送如果無匹配但Android WebView和Chrome確實

編輯:下面是響應頭在Safari,

Cache-Control:private 
Content-Encoding:gzip 
Content-Length:448 
Content-Type:text/html; charset=utf-8 
Date:Wed, 19 Jun 2013 09:27:46 GMT 
Etag:00amyWGct0y_ze4lIsj2Mw 
Server:Microsoft-IIS/7.5 
Vary:Accept-Encoding 
X-AspNet-Version:4.0.30319 
X-Powered-By:ASP.NET 

回答

1

here

警告幾年前,ETag的大多是通過代理和不使用盡可能多的瀏覽器。由於瀏覽器的支持增加,ETags的價值逐漸增長。請記住,不是所有的瀏覽器都支持ETag。例如,Apple的Safari不支持它們。您可能會考慮提供Last-Modified標題以及檢查If-Modified-Since標題以及使用ETags,如果您希望大量的Safari用戶訪問您的站點

+0

聽起來非常非常誤導的。 ETags得到了很長時間的支持。 –

+0

意思是書很不對。用你的機器進行測試,然後給我發送一個適合你的ETag示例響應標題。 – user960567

+0

@JulianReschke您可以安裝並檢查 – user960567

0

您的ETag標題字段值語法錯誤。也許這就是爲什麼Safari忽略它(這會很好!)。

另一個原因可能是無法正確處理「Vary」(這確實會影響某些版本的IE)。

+0

您是否在Safari中測試樣本,並告訴我ETag是否可以在Safari中使用。看到我的答案是說Safari不實施ETags。 – user960567

+0

我沒有當前的Safari。 –

相關問題