例如此链接的图片第一个 PNG 可以在 Chome 24 或 Opera 12 中单击查看。但是第三个 PNG 无法通过浏览器查看。相反,两个浏览器都需要下载图像。
这也发生在 JPG 和其他 PNG 文件中,而不仅仅是上面的示例图像。
奇怪的是,Internet Explorer 10 可以正常显示这两张图片。
这背后的原因是什么?
使用的浏览器
- Opera 12.13(使用新配置文件测试)
- Chrome 24(使用新配置文件测试)
- Internet Explorer 10
答案1
有趣的是,前两个图像的链接使用相同的语法,并且都指向同一个目录。它们显然都是有效的 png 文件(尚未验证)。但 googlecode 服务器对它们的处理方式不同。第一个(显示的)返回类型为“text/plain”。
HTTP/1.1 200 OK
Date: Wed, 30 Jan 2013 20:05:47 GMT
Server: Apache
Last-Modified: Mon, 27 Feb 2012 15:02:40 GMT
ETag: "228//4star-oyksoft-plain.png"
Expires: Wed, 30 Jan 2013 20:08:47 GMT
Content-Length: 4549
Content-Type: text/plain
第二个(已下载)作为“application/octet-stream”返回。
HTTP/1.1 200 OK
Last-Modified: Mon, 13 Aug 2012 12:54:41 GMT
Content-Length: 2330
Content-Type: application/octet-stream
Date: Wed, 30 Jan 2013 20:06:09 GMT
Server: Apache
ETag: "288//badge.png"
显然,浏览器试图处理文本版本,但忽略了应用程序类型,直接下载了它(“嘿,用户,你自己看着办吧”)。因此,看起来服务器出于某些未知原因返回了不同的响应。