Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.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
如果没有匹配项,IOS UIWebView和Safari不会发送,但Android WebView和Chrome会发送_Android_Iphone_Asp.net_Http_Safari - Fatal编程技术网

如果没有匹配项,IOS UIWebView和Safari不会发送,但Android WebView和Chrome会发送

如果没有匹配项,IOS UIWebView和Safari不会发送,但Android WebView和Chrome会发送,android,iphone,asp.net,http,safari,Android,Iphone,Asp.net,Http,Safari,我使用ASP.NET作为IOS和Android的服务器,它使用ETag和If None匹配头返回304或200。当我在Chrome开发工具和远程调试Android WebView上检查这一点时,“一切正常”意味着他正在发送“如果没有匹配的请求头”。但在Safari和远程调试IOS中执行相同操作时,如果没有匹配的头,UIWebView始终不会发送。如果无匹配标头在IOS中不起作用,则为。同样的结果在Safari 编辑:以下是Safari中的响应标题 Cache-Control:private Co

我使用ASP.NET作为IOS和Android的服务器,它使用ETag和If None匹配头返回304或200。当我在Chrome开发工具和远程调试Android WebView上检查这一点时,“一切正常”意味着他正在发送“如果没有匹配的请求头”。但在Safari和远程调试IOS中执行相同操作时,如果没有匹配的头,UIWebView始终不会发送。如果无匹配标头在IOS中不起作用,则为。同样的结果在Safari

编辑:以下是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

几年前,ETag主要由代理使用,而不是由浏览器使用。由于浏览器支持的增加,etag的价值慢慢增长。但请记住,并非所有浏览器都支持ETag。例如,苹果的Safari不支持它们。如果您希望大量的Safari用户访问您的站点

,您可以考虑提供最后修改的标题,并检查是否修改了标题(除了使用EtAGS之外)。
您的ETag头字段值在语法上不正确。也许这就是Safari忽略它的原因(这很好!)


另一个原因可能是无法正确处理“Vary”(这肯定会影响IE的某些版本)。

检查此图表以确定其版本特定的问题


这听起来很误导人。ETag已经被支持很长时间了。这意味着这本书完全是错的。请使用您的机器进行测试,并向我发送一个适用于您的ETag的示例响应标题。@JulianReschke您可以安装这个,然后检查您是否在Safari中测试了一个示例,并让我知道ETag是否在Safari中工作。看到我的回答了吗,它说Safari没有实现ETag。我现在没有Safari。