[英]Why is Internet Explorer (8) thinking this is XML
这是从服务器(使用Fiddler2)生成的原始响应。
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/plain; charset=utf-8
Server: Microsoft-IIS/7.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
MicrosoftOfficeWebServer: 5.0_Pub
MS-Author-Via: MS-FP/4.0
Date: Fri, 10 Dec 2010 18:19:18 GMT
Content-Length: 594
Contents of 24194_XXXXXXXXXX.log as of 10/12/2010 19:19:18
w3wp.exe Information: 0 : START: New Alarm [9]
w3wp.exe Information: 0 : 12/10/2010 19:14:56 - <?xml version="1.0"?>
<CALLS>
<CALL>
<CALL_ID>9_1</CALL_ID>
<BODY>004|007|015|058|1_ToConfirm|2_ToDecline</BODY>
<LANGID>321</LANGID>
<TO1>99999999999</TO1>
<TO2 />
</CALL>
</CALLS>
w3wp.exe Information: 0 : END: New Alarm [9]
w3wp.exe Information: 0 : 12/10/2010 19:15:30 - <RESULT><CALL_ID>9_1</CALL_ID><CALLRESULT1>0</CALLRESULT1><DTMF1>2</DTMF1><CALLRESULT2></CALLRESULT2><DTMF2></DTMF2></RESULT>
在我的asp.net IHttpHandler
中设置
context.Response.ContentType = "text/plain";
它显然正在返回。 在IE8中,我看到了这一点:
尝试将目标另存为...时,出现以下提示(请注意另存为:) :
IE因猜测内容类型而臭名昭著。 大概他们在做内容嗅探,而<?xml version="1.0"?>
正在触发它。
尝试使用不同于文本/纯文本或应用程序/八位字节流的其他内容类型,以查看是否获得相同的行为。 看起来它只对这两种类型进行嗅探,以尝试解决配置错误的Web服务器:
另请参见http://msdn.microsoft.com/en-us/library/ms775147(VS.85).aspx#introduction
它正在查看其中包含xml的实际内容:
<?xml version="1.0"?>
很容易理解为什么当您没有任何html元素(例如html,head或body)时。 如果希望xml以文本形式显示,则需要将其包含在html中,并正确地避开标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.