eth*_*ton 13 xmlhttprequest internet-explorer-10
这个问题让我疯了.我们的网络应用程序使用HTTP POST登录用户,现在IE 10正在中止连接并说:
SCRIPT7002: XMLHttpRequest: Network Error 0x2f7d, Could not complete the operation due to error 00002f7d.
Run Code Online (Sandbox Code Playgroud)
以下是我的所有细节
截屏:
网络流量:

证书很好:

任何帮助是极大的赞赏.我花了很多时间没有运气.正如您所料,这在Chrome和Firefox中运行良好.如果您需要更多有关正在发生的事情的详细信息,请告诉我们.
谢谢,
证书吊销检查可能会阻止初始 JSON POST,但允许 GET 回调后的后续请求
\n\n\n我们最近确定忽略证书吊销检查失败的 URLMon 代码(Win8、Win7 和可能更早版本)不适用于内容上传(例如 HTTP POST)。因此,如果证书吊销检查失败,这对上传来说是致命的(例如,IE 将显示页面无法显示错误消息;其他客户端将显示不同的错误)。然而,这在现实世界中并不重要,因为在大多数情况下,用户首先从目标 HTTPS 站点执行下载 (HTTP GET),结果服务器的证书被缓存并显示“忽略吊销检查失败”进程生命周期内的豁免,因此后续的 POST 会继承该标志并成功。如果当前进程中对 HTTPS 站点的第一个请求是上传(例如跨源 POST 请求),则上传会失败。
\n
下面是它的工作原理:
\n\n\n一点背景知识:当 Web 浏览器发起与 Web 服务器的 HTTPS 握手时,服务器立即发送数字证书。服务器的主机名列在数字证书中,浏览器将其与尝试访问的主机名进行比较。如果这些主机名不匹配,浏览器会引发错误。
\n如果将单个 IP 配置为托管多个站点(有时称为 \xe2\x80\x9cvirtual-hosting\xe2\x80\x9d),则匹配主机名要求会导致问题。通常,虚拟托管服务器检查 HTTP 主机请求标头以确定要返回的 HTTP 内容。但是,在 HTTPS 情况下,服务器在从浏览器接收 HTTP 标头之前必须提供数字证书。SNI 通过在与安全服务器初始客户端握手的 SNI 扩展字段中列出目标服务器\xe2\x80\x99s 主机名来解决此问题。虚拟托管服务器可以检查 SNI 扩展以确定将哪个数字证书发送回客户端。
\n
GET 可能是以下operation aborted场景的受害者:
\n\n正在解析 HTML 文件,并遇到脚本块。脚本块包含内联脚本,该脚本创建一个新元素并尝试在解析器遇到结束 BODY 标记之前将其添加到 BODY 元素。
\n
<body>\n <div>\n <script>document.body.appendChild(newElem)</script>\n </div>\n</body>\nRun Code Online (Sandbox Code Playgroud)\n\n\n请注意,如果我删除了该
\n<div>元素,则不会出现此问题,因为脚本块的直接父级将是 BODY,并且脚本块的直接父级不受此问题的影响。
参考
\n| 归档时间: |
|
| 查看次数: |
30204 次 |
| 最近记录: |