HTTP/2 开源项目教程
http-2Pure Ruby implementation of HTTP/2 protocol项目地址:https://gitcode.com/gh_mirrors/ht/http-2
1. 项目的目录结构及介绍
http-2/
├── README.md
├── examples/
│ ├── client.rb
│ ├── server.rb
│ └── ...
├── lib/
│ ├── http/
│ │ ├── h2/
│ │ │ ├── connection.rb
│ │ │ ├── stream.rb
│ │ │ └── ...
│ │ └── ...
│ └── ...
├── spec/
│ ├── connection_spec.rb
│ ├── stream_spec.rb
│ └── ...
└── ...
- README.md: 项目介绍和使用说明。
- examples/: 包含客户端和服务器的示例代码。
- lib/http/h2/: HTTP/2 的核心实现,包括连接和流处理。
- spec/: 测试文件,包含各种单元测试。
2. 项目的启动文件介绍
客户端启动文件
# examples/client.rb
require 'http/2'
connection = HTTP2::Client.new
connection.on(:frame) do |bytes|
# 处理接收到的帧
end
# 启动客户端
服务器启动文件
# examples/server.rb
require 'http/2'
server = HTTP2::Server.new
server.on(:frame) do |bytes|
# 处理接收到的帧
end
# 启动服务器
3. 项目的配置文件介绍
项目本身没有专门的配置文件,但可以通过代码进行配置。例如:
# 配置连接
connection = HTTP2::Client.new
connection.settings({
:max_concurrent_streams => 100,
:initial_window_size => 65535
})
通过这种方式,可以调整 HTTP/2 连接的各项参数。
http-2Pure Ruby implementation of HTTP/2 protocol项目地址:https://gitcode.com/gh_mirrors/ht/http-2