RFC 7540 和 RFC 7541 包含了 HTTP/2 协议的完整规范。在为 sgcWebSockets 库实现新的 HTTP/2 客户端的过程中,使用外部工具检验客户端组件是否按预期工作至关重要。其中一个在线工具托管在:
该网站提供了一些针对 HTTP/2 客户端的测试,在 HTTP/2 实现过程中非常有用。因此我构建了一个 Delphi HTTP/2 客户端来验证测试是否能够正常通过。
HTTP/2 测试
Golang 服务器为 HTTP/2 社区提供了一系列测试 HTTP/2 客户端实现的 URL:
- GET
/reqinfo— 输出接收到的请求和请求头 - GET
/clockstream— 每秒以流方式发送当前时间 - GET
/serverpush— 查看含服务器推送的页面 - GET
/file/gopher.png— 获取小文件(支持 If-Modified-Since、Content-Range 等) - GET
/file/go.src.tar.gz— 获取较大文件(约 10 MB) - GET
/redirect— 重定向回 /(本页) - GET
/goroutines— 查看服务器上所有活跃的 goroutine - PUT 内容到
/crc32— 获取字节数及其 CRC-32 值 - PUT 内容到
/ECHO— 以大写形式将内容流式返回
以下为运行 Clock Stream 示例的 sgcWebSockets 客户端 HTTP/2 演示截图。

