我想知道HTTP框架在Rails中的位置以及如何使用不同的网络层来实现客户端-服务器通信的不同协议。
有一个名为QUIC的新协议,具有低延迟,如果有人想在Rails应用程序中实现它,该怎么做? 我在互联网上几乎找不到任何相关的实现资源。
我想知道HTTP框架在Rails中的位置以及如何使用不同的网络层来实现客户端-服务器通信的不同协议。
有一个名为QUIC的新协议,具有低延迟,如果有人想在Rails应用程序中实现它,该怎么做? 我在互联网上几乎找不到任何相关的实现资源。
Rails <---> Rack <---> Web Server <---> Web Client
require "rack"
require "thin"
class HelloWorld
def call(env)
[ 200, { "Content-Type" => "text/plain" }, ["Hello World"] ]
end
end
Rack::Handler::Thin.run HelloWorld.new
Rack::Handler::Thin
与小型的thin
web服务器通信,向其传递由HTTP代码、HTTP头部和响应正文组成的响应。
你可能很幸运,LiteSpeed web服务器支持QUIC,并且Rack有一个专门为LiteSpeed设计的处理程序。它可能只需要起作用即可。
正如评论中所讨论的,QUIC目前尚未正式标准化,因此大多数工具都无法使用它,这并不令人意外。目前没有任何主要的Web服务器(例如Apache、Nginx或IIS)表示他们正在研究它。QUIC计划在7月份完成并提交标准化,此后还需要几个月的时间进行标准化。之后,我预计将开始提供实现。
Google发明了QUIC,并在其服务器和Chrome浏览器中拥有一个版本。这是标准化的QUIC的基础,但两者已经分化并且不兼容。因此,如果您想要,您可以实现Google QUIC的版本,一些服务器(如LiteSpeed)和一些CDN(如Akamai)也这样做。Google自己在其Cloud Platform上也是如此。他们基本上通过反向工程开源的Google Chrome代码来实现这一点。此外,随着Google迭代QUIC并停止支持旧版本,他们必须跟上,否则它将停止工作。最终,Google QUIC将被弃用,一旦IETF标准化的QUIC发布,它就会被淘汰。