【问题标题】:How can I control the content of the HTTP HOST header in requests issued from my website?如何控制从我的网站发出的请求中 HTTP HOST 标头的内容?
【发布时间】:2013-12-09 12:41:57
【问题描述】:

是否有人熟悉我可以在我的网站上发布链接的方式,当访问该链接时,用户会向第三方网站发出 HTTP 请求,其中包含 HOST 标头中的自定义内容(不同于实际的主机/在 IP 级别上将请求发送到的域)? 一个简短的例子来澄清我的意图 - 发送到 www.example.com 的请求:

GET / HTTP/1.1
Host: $$CUSTOM_PAYLOAD$$ (not www.example.com)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

我在这里看到了一些关于使用 CUSTOM 标头发出请求的主题的讨论,但情况并非如此,因为标头是接收方接受的合法标头。

提前致谢,

【问题讨论】:

    标签: http jquery http-headers host


    【解决方案1】:

    这不是 HTTP 的工作方式。 Host 标头由客户端设置,并与请求 URI 中的主机名匹配。您可以让浏览器执行对http://foo/ 的请求,并使主机标头包含bar

    RFC 2616, section 14.23 Host

    Host 请求头字段指定 Internet 主机和端口 被请求的资源的数量,从原始资源中获得 用户或引用资源给出的 URI(通常是 HTTP URL, 如第 3.2.2 节所述)。

    主机字段值必须代表 源服务器或网关的命名权限,由 原始网址。这允许源服务器或网关 区分内部不明确的 URL,例如根“/” 单个 IP 地址上多个主机名的服务器 URL。

    请解释您要解决的实际问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      相关资源
      最近更新 更多