RESTful Web 服务可以从 SPDY 协议中受益吗?

Posted

技术标签:

【中文标题】RESTful Web 服务可以从 SPDY 协议中受益吗?【英文标题】:Can RESTful web service benefit from SPDY protocol? 【发布时间】:2012-06-11 09:53:07 【问题描述】:

我正在设计一个 RESTful Web 服务。它将包括一些GETPOST 请求。我有点困惑 Web 服务是否可以从 SPDY 协议中受益。我打算使用 Ruby on Rails 来实现。有没有支持 SPDY 的 gem?

【问题讨论】:

【参考方案1】:

可能,是的。

SPDY 的主要设计目标之一是减少与每个请求相关的延迟时间。实现这一点的方法是在同一个 TCP 连接上启用多路复用。此外,SPDY 进行标头压缩,这是一个巨大的胜利,特别是对于通常携带非常小的 (JSON) 有效负载但发送大的 HTTP 标头(cookie 等)的 REST 样式交互而言。

那么,SPDY 会给您带来性能提升吗?这取决于您的应用程序,但 SPDY 中的特定优化肯定会有所帮助。

就 Ruby 的“宝石”而言。有解析协议的spdy gem,但你不应该需要它。 SPDY 是 HTTP 之下的一个层,应该主要由服务器为您处理。如果您有兴趣尝试它并且正在使用 Rails,我建议您尝试 Passenger + mod_spdy。

【讨论】:

【参考方案2】:

SPDY 与应用程序本身无关。如果您使用的是 Apache,请查看 mod_spdy。还有SPDY daemon for rack。

【讨论】:

我理解 SPDY 不需要对应用程序本身做任何事情;但我有兴趣探索如果我们使用 SPDY 而不是 HTTP 可能会提高性能。 批量操作应该会提高性能,例如在博客中逐一发布 100 篇文章。

以上是关于RESTful Web 服务可以从 SPDY 协议中受益吗?的主要内容,如果未能解决你的问题,请参考以下文章

SPDY Web 服务器基准测试工具

HTTP2和SPDY协议——使HTTP更快更安全

RESTful 接口教程

HTTP/2 与 WEB 性能优化

HTTP/2 与 Web 性能优化

如何使用 SPDY 协议为 Django 应用程序提供服务?