为什么网络服务器对 PNG 和 TIFF 格式的处理方式与 JPG 和 GIF 格式不同?

为什么网络服务器对 PNG 和 TIFF 格式的处理方式与 JPG 和 GIF 格式不同?
  • 我发现我的网络浏览器一直在下载 PNG 和 TIFF 图像,而当我单击该图像的链接时,却愉快地显示 JPG 和 GIF。例如。http://somesite.com/image.<format>

  • Content-Disposition仔细检查 HTTP 响应标头后,我发现和标头之间的差异Content-Type导致了这种行为。

有人知道为什么这些会被区别对待吗?


巴布亚新几内亚:

HTTP/1.1 200 OK
Date: Fri, 16 Jan 2015 01:33:05 GMT
Server: Apache/2.2.21 (CentOS)
Content-Disposition: attachment;filename*=UTF-8''PNG.png
Content-Type: application/octet-stream

JPG:

HTTP/1.1 200 OK
Date: Fri, 16 Jan 2015 01:34:43 GMT
Server: Apache/2.2.21 (CentOS)
Content-Disposition: inline;filename*=UTF-8''JPG.jpg
Content-Type: image/jpeg

动图:

HTTP/1.1 200 OK
Date: Fri, 16 Jan 2015 01:31:28 GMT
Server: Apache/2.2.21 (CentOS)
Content-Disposition: inline;filename="GIF.gif"
Content-Type: image/gif

答案1

提供这些文件的 Web 服务器配置不正确,无法提供这些图像类型。通用的“未知”内容类型是application/octet-stream。浏览器使用Content-Type标头来决定如何处理文件,由于没有任何东西可以处理它,它只会下载该文件。

大多数 Apache 安装mime.types在其配置中都有一个文件,用于处理文件扩展名到内容类型的映射。

服务器还设置Content-Disposition标头attachment也会导致浏览器下载文件而不是以内联方式显示它。

相关内容