gpt4 book ai didi

c# - 是什么混淆或导致我的 Http Web 请求 header 有时包含 "Proxy-Connection"而不是 "Connection"?

转载 作者:太空宇宙 更新时间:2023-11-03 14:15:23 25 4
gpt4 key购买 nike

我有一个使用 C#.NET 编写的桌面应用程序,它非常频繁地连接到 ASMX Web 服务。有两个后台工作人员非常频繁地连接到此 Web 服务。该应用程序还有两个 Web 浏览器控件,其形式为从 ASP.NET 网站加载两个不同的网页。这些页面也有持续不断的 AJAX 请求。

问题:有时一些请求 - 无论是通过浏览器页面中的 Web 引用还是 XMLHttp 都会卡住。我使用 fiddler 检查并发现这些请求获得了 http 状态 502 响应并且实际上在 TCP IP 连接上失败了。我确定的问题模式/原因是来自应用程序的所有 http Web 请求通常都包含“Connection” header ,但一些随机请求却包含“Proxy-Connection” header 。可以肯定的是,502 错误始终且仅针对这些带有“Proxy-Connection” header 的请求。

如果这是问题的原因,我想知道是什么导致某些请求发送“Proxy-Connection” header 而不是正常的“Connection” header ?

更新:随着我不断地使用 fiddler 测试和监控它 - 我现在有一个新发现。当应用程序正在运行并且 fiddler 正在捕获日志时 - 我在请求 header 中随机搜索日志中的“代理”,有时它说“1 个 session 包含'代理'”但下一刻我再次研究它说“0 个 session 包含'代理人'”。当它说“1 个 session 包含‘Proxy’”时,我什至快速保存了选定的日志,但是当我稍后检查保存的日志时,它在请求 header 中不包含‘Proxy’并且状态也是 200(不是 502)。现在,当我使用 fiddler 捕获实时日志时,我看到几乎所有(或大部分)请求实际上都以“Proxy-Connection” header 开头,在请求完成时该 header 已更改为“Connection”。那么,未完成的请求是否会保留“Proxy-Connection” header ?

有什么线索吗?我很困惑并试图至少弄清楚一个事实 - Proxy-Connection header 是否导致 502 错误?或者 502 错误导致 Proxy-Connection header ?

最佳答案

您和网络服务器之间一定有一些代理。如果你看http://www.checkupdown.com/status/E502.html HTTP 502 错误通常是由于代理或网关无法连接到目标服务器而出现的。这通常是由于连接问题或负载问题(如果您通过自己的路由器运行,则可能是连接问题,如果您通过 ISP 提供的透明代理运行,则可能是连接问题)。

要阻止错误,您无能为力,您必须编写代码来捕获此错误并重试。

所以回答你的问题:

whether Proxy-Connection header is causing the 502 error? OR the 502 error is causing the Proxy-Connection header?

Proxy-Connection header 表示某些代理或网关在连接到 Web 服务时出现错误。它本身不是 502 错误的原因,502 错误也不是 Proxy-Connection header 的原因。

关于c# - 是什么混淆或导致我的 Http Web 请求 header 有时包含 "Proxy-Connection"而不是 "Connection"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com