Html IE11未通过Web服务器显示带有对象标记的图像,但在本地显示良好

Html IE11未通过Web服务器显示带有对象标记的图像,但在本地显示良好,html,internet-explorer,svg,webserver,Html,Internet Explorer,Svg,Webserver,问题:当通过对象标记以数据形式查看图像设置时,Internet Explorer 11在通过web服务器查看时不会显示它。以下是完整的代码: <!DOCTYPE html> <html> <head></head> <body> <div style="width:200px; height:100px"><img src="../../square.svg"/></div> <div styl

问题:当通过对象标记以数据形式查看图像设置时,Internet Explorer 11在通过web服务器查看时不会显示它。以下是完整的代码:

<!DOCTYPE html>
<html>
<head></head>
<body>
<div style="width:200px; height:100px"><img src="../../square.svg"/></div>
<div style="width:200px; height:100px"><embed src="../../square.svg"></div>
<div style="width:200px; height:100px"><object data="../../square.svg" type="image/svg+xml">Nope</object></div>
</body>
</html>
响应成功:

HTTP/1.1 304 Not Modified
content-type: image/svg+xml; charset=UTF-8
last-modified: Fri, 18 Apr 2014 03:31:10 GMT
date: Sat, 19 Apr 2014 01:23:12 GMT
cache-control: private, must-revalidate, max-age=86400
expires: Thu, 01 Jan 1970 00:00:00 GMT
content-length: 0
server: Vendor Web Server/Version
请求失败:

HEAD http://127.0.0.1/file/square.svg HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: 127.0.0.1
Content-Length: 0
DNT: 1
Connection: Keep-Alive
Pragma: no-cache
Cookie: vendor_session=xxx
响应失败:

HTTP/1.1 405 Method Not Allowed
content-type: text/html; charset=UTF-8
date: Sat, 19 Apr 2014 01:33:01 GMT
cache-control: private, must-revalidate
expires: Thu, 01 Jan 1970 00:00:00 GMT
content-length: 839
server: Vendor Web Server/Version

这里的问题是IE发出
HEAD
请求以确定目标资源的内容类型。您的服务器被配置为拒绝HEAD请求(这是一个错误的配置),因此会导致HTTP错误而不是正确的响应

您可以通过更改标签来避免此请求:

<object data="../../square.svg" classid="clsid:30590066-98b5-11cf-bb82-00aa00bdce0b" type="image/svg+xml">Nope</object>
no

…但我可能只是重新配置服务器,以不禁止HEAD方法

使用Fiddler,请为正在工作和失败的SVG请求发布HTTP请求和响应头。我注意到使用带有标记的Fiddler时有一件奇怪的事情。仅在IE中,如果我刷新页面,我会收到以下错误,但如果我单击URL并按enter键,则会出现方形,看起来正常。[Fiddler]响应头解析失败。这可能是由之前在这个重用的服务器套接字上的非法HTTP响应引起的——例如,非法包含正文的HTTP/304响应。响应数据:问题中的Fiddler错误消息表示服务器正在发送格式错误的HTTP通信。这在Apache或IIS等真正的服务器中并不常见,但在“自定义”web服务器(我猜是“供应商web服务器”)中经常会出现。如果我将标记和文档模式更改为IE10或IE9,则edge不起作用。不幸的是,我无法控制服务器。我可以和供应商谈谈,看看能做些什么。非常感谢。
<object data="../../square.svg" classid="clsid:30590066-98b5-11cf-bb82-00aa00bdce0b" type="image/svg+xml">Nope</object>