Proxy 代理服务器缺少POST参数

Proxy 代理服务器缺少POST参数,proxy,http-post,Proxy,Http Post,我们在web应用程序中遇到一些奇怪的行为。一些POST请求没有任何http正文,而它们应该是这样的。内容长度为0。根本没有post参数。我们跟踪了loadbalancer的网络流量,发现我们的一些POST请求没有得到任何请求正文 所有断开的POST请求都有一个共同点,即它们通过代理服务器到达 我们已经发现了这个问题,所以: 我们现在使用的是一个框架转义javascript例程,它有点帮助。错误率似乎下降了。但是我们仍然有没有数据的POST请求,这在我们的webapp中永远不会发生。这些请求不是

我们在web应用程序中遇到一些奇怪的行为。一些POST请求没有任何http正文,而它们应该是这样的。内容长度为0。根本没有post参数。我们跟踪了loadbalancer的网络流量,发现我们的一些POST请求没有得到任何请求正文

所有断开的POST请求都有一个共同点,即它们通过代理服务器到达

我们已经发现了这个问题,所以:

我们现在使用的是一个框架转义javascript例程,它有点帮助。错误率似乎下降了。但是我们仍然有没有数据的POST请求,这在我们的webapp中永远不会发生。这些请求不是来自黑客或类似的人

我们经常将Webwash视为代理。但大多数时候,我们看不到使用了哪个代理

在这个PDF中,我们看到了一条关于Web垫圈缺少POST参数的评论

关于一些陷阱的注记

请注意,在设置透明身份验证时,必须考虑一些陷阱:

如果ICAP服务器向身份验证服务器发送重定向,POST请求将失败。但是,这只会影响映射的更新,因为对于浏览器,请求已成功,并且在最终重定向后不会再次发送POST正文

我们想知道除了使用“仅获取”而不是“发布”之外,是否还有其他解决方法。 如果其他网站在缺少POST数据和他们得出的结论方面存在问题,我们也会在这里讨论


没有发送POST数据还有其他原因吗?

没有符合以下条件的原因:

某些HTTP方法必须导致缓存使实体无效。 ... 职位

(HTTP/1.0规范规定“应用程序不得缓存对POST请求的响应”)

但是有很多写得很糟糕的代码


在回复URL上的帖子时,您会包含哪些标题?

我发现Microsoft的代理服务器不能很好地处理web请求

我不得不求助于强制HTTP/1.0并将KeepAlive属性设置为false

NTLM身份验证的工作方式会导致身体偶尔被发送

我已将此添加到我的许多web请求中

protected override WebRequest GetWebRequest(Uri uri)
{
    HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri);

    webRequest.KeepAlive = false;
    webRequest.ProtocolVersion=HttpVersion.Version10;
    return webRequest;
}

希望这有帮助

我想这不是一个真正的答案,但我来到这里是因为我们遇到了类似的问题。起初,我们认为这是由于客户是移动的,因为这是一个共同的主题,但现在我们意识到,共同点是代理

现在,当它发生时,我们将引发一个HTTP400

下面是一些代理,我们遇到了一些问题。将其发布到此处,以领导谷歌休闲版:

  • 1.1 ACISA02S,1.1 abc:3328(squid/2.6.STABLE21)
  • 1.1ipcop00.cat.local:8000(squid/2.6.STABLE21)
  • 1.1 PRXTGLSRV01
  • 1.1 ISA

它不依赖于我们的标题,也不与规范相关。有时有效,有时无效。这似乎与Webwash等糟糕的代理服务器有关。因此,我宁愿投票否决这个anwser,因为它与我的问题无关,也没有帮助。嗯,我们没有使用NTLM,但我认为你的暗示指向了正确的方向。