【问题标题】:An example of a http proxy parsing the "Connection" header?http代理解析“连接”标头的示例?
【发布时间】:2014-10-11 12:30:21
【问题描述】:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

HTTP/1.1 代理必须在转发消息之前解析 Connection 头字段,并且对于该字段中的每个连接令牌,从消息中删除与连接令牌同名的任何头字段。

有人可以举一个上面段落所指的常见场景的例子吗?

这和Connection: close 标头有什么关系吗?

【问题讨论】:

    标签: http http-headers http-proxy


    【解决方案1】:

    一个很好的例子,在 HTTP/1.1 中,Upgrade,表示客户端希望从 HTTP/1.1 迁移到另一个协议:

     GET http://www.example.com/hello.txt HTTP/1.1
     Connection: upgrade
     Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
    

    如果这是一个代理,则不应将 Upgrade 标头传递给任何上游服务器,因为它只对这个连接有意义。

    Keep-Alive 标头也可能出现在 HTTP/1.0 中,但现在已在 HTTP/1.1 中过时。

    【讨论】:

    • @joe 我的理解是否正确,如果您有一个基本的反向代理 http 服务器(不会更改它传递给应用程序服务器的任何内容),代理服务器应该只是消除在将请求传递到应用程序服务器之前,请求标头中的任何 Connection 标头?
    • @Malvin9000 是的,请参阅What Proxies Must Do - “代理必须做的第一件事是在转发消息之前逐跳删除标头”。
    • @Joe 谢谢伙计,大约 30 分钟前才发现那篇博文,很高兴我走在正确的轨道上。谢谢!
    猜你喜欢
    • 2010-09-09
    • 2022-01-07
    • 2011-06-08
    • 2014-11-05
    • 2015-09-03
    • 2013-09-20
    • 2010-09-20
    • 2015-12-06
    • 1970-01-01
    相关资源
    最近更新 更多