【问题标题】:what is the benefit of using http hijacker使用 http 劫持者有什么好处
【发布时间】:2013-06-27 03:57:15
【问题描述】:

Go http pkg 提供了一个Hijacker 接口,谁能告诉我什么时候应该使用它。

我检查了评论,在劫持调用让调用者接管连接之后,HTTP 服务器库不会对连接做任何其他事情。

我理解它是因为它用于在一个端口内同时支持 http 请求和普通 tcp 交互。这样对吗?有没有其他好处。

【问题讨论】:

    标签: http go go-http


    【解决方案1】:

    这意味着你接管了 TCP 连接的控制权。 TCP 是通用传输协议,而 HTTP 是 TCP 之上的应用程序协议。 OSI seven layer model 将 TCP 描述为第 4 层,HTTP 描述为第 7 层。

    如果您需要实现不同的应用程序协议,这是劫持的一个用例。

    或者,如果您需要使用 HTTP 做一些专门的事情,比如阻止保持连接,这是另一个用例。

    Google 的SPDY 是替代网络应用程序协议的一个示例。这也是您可能劫持现有 HTTP 连接而不是直接创建 TCP 连接的一个很好的理由。对于 SPDY,浏览器首先会发出一个包含“accept”标头的 HTTP 请求,表明它也能够理解 SPDY。所以现在你可以劫持连接并实现 SPDY 而不是 HTTP。

    【讨论】:

    • 为什么不直接建立一个 tcp 连接而不是从 http 连接中劫持一个呢?
    • 像 SPDY 一样,客户端会发出一个 http 请求,他在标头中告诉他他也会理解 SPDY,所以你现在将劫持这个连接,发送 SPDY 而不是 http
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 2012-03-27
    • 1970-01-01
    • 2012-11-28
    • 2010-09-21
    相关资源
    最近更新 更多