IE10 意外发送 PDF 的 HEAD 请求。发生了什么变化?

IE10 意外发送 PDF 的 HEAD 请求。发生了什么变化?

长期以来,人们都知道 IE 会发送多个 PDF 和其他 MIME 类型的请求,这需要插件

现在我们的服务器进程出现异常,因为 IE 突然决定发送 HEAD 请求

这是请求。

Key                Value
Request            HEAD http://myserver.com/document.pdf HTTP/1.1
Accept             */*
User-Agent         contype
Accept-Encoding    gzip, deflate
Host               myserver.com
Content-Length     0
DNT                1
Proxy-Connection   Keep-Alive
Pragma             no-cache

其他 MIME 类型的处理是否发生了变化?

答案1

根据这篇文章:

PRB: 检索插件提供的内容时发送三个GET 请求

以及这篇文章:

IE 陷阱:文档“contype”请求

还有其他有同样问题的人:

“contype” 用户代理发出 HEAD 请求

IE 过去常常对内容类型发出 GET 请求,但是现在(从 IE9 开始?肯定在 IE10 中)已更改为 HEAD 请求。

有必要改变您的服务器进程以接收 HEAD 请求。两个都 HEAD并且GET用户代理的请求contype应该只返回内容类型而不是数据

PHP 示例:

if($_SERVER['HTTP_USER_AGENT'] == 'contype') {
  header('Content-Type: image/svg+xml'); // or application/pdf for pdf
  die();
}

相关内容