为什么 POST 请求中出现“Content-Length: 0”?

2024-01-10

客户有时会发送 POST 请求Content-Length: 0提交表单时(10 到 40 多个字段)。

我们使用不同的浏览器和不同的位置对其进行了测试,但无法重现该错误。客户正在使用 Internet Explorer 7 和代理。

我们要求他们让系统管理员从他们的角度来看待问题。在没有代理的情况下运行一些测试等等。

与此同时(半年后仍然没有答案)我很好奇是否有人知道类似的问题Content-Length: 0要求。也许来自某个带有大公司特殊代理的 Windows 网络内部。

Internet Explorer 7 是否存在已知问题?使用代理系统? Windows 网络本身?

Google 仅在 NTLM(等)身份验证上下文中展示了一些内容,但我们并未在 Web 应用程序中使用它。也许是代理在通过 Windows 登录的客户网络中运行的方式? (我不是 Windows 专家。只是猜测。)

我没有关于基础设施的更多信息。

UPDATE:2010 年 12 月,可以将此情况通知一位管理员,包括。此处答案的链接。联系是因为另一个问题,也是由代理引起的。此后没有任何反馈。并且错误消息仍然存在。我笑是为了不让自己哭。

更新2:这个问题从 2008 年中期就存在。每隔几个月,客户就会感到恼火并希望尽快修复。我们再次向他们发送所有旧电子邮件,并要求他们联系管理员以修复问题或运行一些进一步的测试。 2010 年 12 月,我们能够向 1 位管理员发送一些信息。没有反馈。问题尚未解决,我们不知道他们是否尝试过。 2011 年 5 月,客户再次来信希望修复此问题。同一个人掌握了 2008 年以来的所有信息。

感谢所有的答案。正如我从这里的一些评论中看到的那样,您帮助了很多人。可惜现实世界对我来说是如此怪诞。

更新3:2012 年 5 月,我想知道为什么我们没有收到另一个修复此问题的要求(请参阅更新 2)。研究了错误协议,每次发生时它只报告这个错误(大约每天 15 个)。 2012 年 1 月底就停止了。没有人说什么。他们肯定对他们的网络做了什么。现在一切都好了。从2008年夏天到2012年1月。很遗憾我无法告诉你他们做了什么。

更新4:2015 年 9 月。网站必须收集一些数据并将其传送到客户的主网站。有一个带有帐户的 API。每当出现问题时,他们都会联系我们,即使问题显然是在另一方。几周以来我们无法向他们发送数据。该帐户不再可用。他们重新启动了,我再也找不到使用我们网站数据的页面了。错误报告没有得到答复,也没有人抱怨。我猜他们刚刚结束了这个项目。

更新5:2017 年 3 月。API 在 2015 年夏天停止工作。客户似乎继续为该网站付费,并且在 2017 年 2 月仍在访问它。我猜他们将其用作存档。他们不再创建或更新任何数据,因此在 2012 年 1 月的神秘修复之后,这个错误可能不会再次出现。但这将是其他人的问题。我走了。


如果表单字段从经过身份验证的站点 (NTLM) 发布到未经身份验证的站点(匿名),则 Internet Explorer 不会发送表单字段。

这是针对质询响应情况(NTLM 或 Kerberos 安全网站)的功能,其中 IE 可以预期第一个 POST 请求会立即导致需要 HTTP 401 身份验证响应(包括挑战),并且只有第二个 POST 请求(包括对挑战的响应)才会被实际接受。在这些情况下,出于性能原因,IE 不会在第一个请求中上传可能较大的请求正文。谢谢EricLaw https://stackoverflow.com/questions/328281/why-content-length-0-in-post-requests/630059?noredirect=1#comment24906051_630059在评论中发布这一点信息。

每次从 NTLM 身份验证(即 Intranet)页面到未经身份验证(即 Internet)页面进行 HTTP POST 时,或者如果未经身份验证的页面是框架集的一部分(其中框架集页面经过身份验证),都会发生此行为。

解决方法是使用 GET 请求作为表单方法,或者确保在新选项卡/窗口(收藏夹/链接目标)中打开未经身份验证的页面,而无需部分经过身份验证的框架集。一旦整个窗口的身份验证模型一致,IE 将再次开始发送表单内容。


  • 绝对相关:http://www.websina.com/bugzero/kb/browser-ie.html http://www.websina.com/bugzero/kb/browser-ie.html
  • 可能相关:KB923155 https://web.archive.org/web/20130925033628/http://support.microsoft.com:80/kb/923155
  • 完整说明: IEInternals 博客 – 质询-响应身份验证和零长度帖子 https://web.archive.org/web/20151109032611/http://blogs.msdn.com:80/b/ieinternals/archive/2010/11/22/internet-explorer-post-bodies-are-zero-bytes-in-length-when-authentication-challenges-are-expected.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 POST 请求中出现“Content-Length: 0”? 的相关文章

随机推荐