【问题标题】:SPDY - without TLS?SPDY - 没有 TLS?
【发布时间】:2011-09-12 08:25:15
【问题描述】:

我正在尝试实现 SPDY(使用 Node.js)以用于高延迟连接。

现在 SPDY 使用 TLS 加密,这会增加数据包长度 - 这是我试图避免的。

有没有没有 TLS 加密的 SPDY 实现?

非常感谢,

【问题讨论】:

    标签: node.js ssl spdy


    【解决方案1】:

    SPDY 的框架层不需要在 TLS 上运行,但出于部署原因,它几乎总是这样做。由于中介的原因,如果不通过端口 443 运行加密,就很难可靠地部署。请注意SPDY whitepaper 说:“为了使 SSL 成为底层传输协议,以获得更好的安全性和与现有网络基础设施的兼容性。虽然 SSL 确实引入了延迟损失,但我们相信网络的长期未来取决于安全网络连接。此外,必须使用 SSL 以确保跨现有代理的通信不会中断。"

    也就是说,Chromium 存储库中的 C++ Flip 服务器确实支持在没有 SSL 的情况下运行,并且 Chromium 浏览器可以配置为支持这一点。

    PS:还有一个现有的 node.js 实现,请参阅http://www.chromium.org/spdy

    【讨论】:

      【解决方案2】:

      如果您想在没有 TLS 的情况下在本地测试您的 SPDY 服务器,即使没有 NPN 升级,您也可以强制 chrome 使用 SPDY。为此,请在加载时将 --use-spdy=no-ssl 传递给 Chrome。

      您可以通过打开chrome://net-internals/#spdy 并在那里签到来确认该标志已注册。

      【讨论】:

        【解决方案3】:

        如果您正在使用 node-spdy 实现 SPDY 服务器,那么您可以使用 plain: true, ssl: false 选项来实现您想要的。

        可以向普通请求:使用 spdycat 的真正 spdy-server cli 实用程序,明确指定协议版本(-3 或 -2 和 --no-tls)。要从浏览器中使用它,您需要使用 --use-spdy=no-ssl 标志启动 chrome。

        但请记住,SPDY 应该在 TLS(SSL) 服务器上 或在 TLS(SSL) 终结符之后,否则不适合投放 网页内容。

        https://github.com/indutny/node-spdy/issues/103

        【讨论】:

          【解决方案4】:

          我会建议 QUIC 协议,它正在开发中,基于 UDP 而不是 TCP/TLS,但仍然具有 SPDY 和 Chrome 支持它的好处

          【讨论】:

            猜你喜欢
            • 2015-06-02
            • 2013-11-27
            • 1970-01-01
            • 2014-04-19
            • 2011-05-03
            • 2014-04-10
            • 1970-01-01
            • 2013-06-09
            • 2021-06-07
            相关资源
            最近更新 更多