首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTTP代理服务器是否修改请求数据包?

HTTP代理服务器是否修改请求数据包?
EN

Stack Overflow用户
提问于 2012-04-29 12:28:08
回答 1查看 20.6K关注 0票数 16

在代理服务器转发到服务器之前,是否在HTTP请求中添加或修改了任何请求头?

如果是,是否对相同的数据包进行了更改,或者内容是否用于创建经过修改的新请求数据包?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-29 14:19:23

有几种不同类型的代理服务器。因为您提到了请求头,所以我假设您谈论的是HTTP代理服务器,它转发HTTP请求,而不是数据包。

注意:HTTPS requests的特殊情况下(通过CONNECT的TLS/SSL),代理服务器将只转发TCP数据包的内容(除非充当man-in-the-middle代理服务器,否则无法检查数据包)。

当然,这取决于代理软件及其配置,但HTTP代理应该遵循W3C ,它说明了许多事情,但最相关的是:

除了在HEADGET代理之间进行转换之外,

  • 代理不能更改请求方法。

  • 如果请求包含Cache-Control: no-transform指令,则代理不能更改请求,除非符合RFC2616HTTP第14.9.5节和13.5.2节中定义的透明HTTP行为,以及按照RFC 2616HTTP代理所需的修改添加标头字段。RFC 2616HTTP代理不应修改User-AgentAccept、D18、D19以外的标头字段的值。并且不得删除报头fields.

  • Proxies应将请求发起者的IP地址添加到field.

  • Proxies HTTP报头中逗号分隔列表的末尾Accept-Language必须(根据RFC2616)包括X-Forwarded-For HTTP报头字段。

总之,您通常可以期望通过符合标准的代理来更改/添加这些HTTP标头:

  • User-Agent
  • Accept
  • Accept-Charset
  • Accept-Encoding
  • Accept-Language
  • X-Forwarded-For
  • Via
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10369679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档