警告: 在某些版本的 Windows 10 上,通过 Microsoft Edge 更新永久禁用已停用的不支持的 Internet Explorer 11 桌面应用程序。 有关详细信息,请参阅 Internet Explorer 11 桌面应用停用常见问题解答。
症状
假设你尝试使用 Internet Explorer 10 级别 2 规范中的 XMLHttpRequest 对象上传文件。 如果 POST 收到 401 身份验证质询,则无法完成文件上传。 如果 HTTP POST 上收到 401 质询,上传将无限期冻结或超时。
此外,这会影响包含使用 formData () .append 方法附加的文件的 POST。 在网络跟踪期间,故障可以通过以下两种方式之一发生,具体取决于是使用 Kerberos 协议还是 NT LAN Manager (NTLM) 协议:-
如果 Internet Explorer 发送 POST,并且服务器响应 401(包括身份验证标头 (AH) ),然后协商 Kerberos 协议:
-
Internet Explorer 发送包含完整正文的初始 POST。
-
服务器使用 Authenticate: Negotiate 做出响应。
-
Internet Explorer 将 Kerberos 哈希与内容长度一起发送到服务器,该长度指示存在完整的 POST 正文,但不包括内容。
-
服务器等待剩余有效负载。 但是,永远不会发送有效负载。
-
-
如果 Internet Explorer 发送 POST,并且服务器响应 401(包括 AH),然后协商 NTLM 协议:
-
Internet Explorer 发送包含完整正文的初始 POST。
-
服务器使用 Authenticate: Negotiate 或 Authenticate: NTLM 进行响应。
-
Internet Explorer 将 NTLM 哈希与内容长度 = 0 一起发送到服务器。
-
服务器使用服务器哈希进行响应。
-
客户端不会发送包含已完成哈希或完整 POST 正文的后续 POST。
-
解决方案
更新信息
若要解决此问题,请安装 Internet Explorer 的最新累积安全更新。 为此,请转到 Microsoft 更新。 有关 Internet Explorer 的最新累积安全更新的技术信息,请转到以下 Microsoft 网站:
http://www.microsoft.com/technet/security/current.aspx注意 此更新最初包含在安全更新2975687中。 有关安全更新2977629的详细信息,请单击下面的文章编号以查看 Microsoft 知识库中的文章:
2977629 MS14-052:Internet Explorer 的累积安全更新:2014 年 9 月 9 日
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
参考
请参阅 Microsoft 用于描述软件更新的术语。