Expand description
Zenith HTTP/1.1 - HTTP/1.1 协议实现
本 crate 提供 HTTP/1.1 协议的解析与处理能力,包括:
- HTTP/1.1 请求解析(严格 RFC 7230/7231)
- 请求走私防护(CL.TE / TE.CL / TE.TE)
- 分块传输编码(Chunked)
- Keep-Alive 连接管理
- 头部规范(大小写、编码、重复头部)
设计原则:
- 热路径零堆分配(使用预分配缓冲区)
- 常量时间头部查找(预哈希表)
- 规范化所有输入为统一形态,消除协议差分
§安全保证
- 严格禁止 \r\n 在头部值内(请求走私基础检测)
- 严格 Content-Length / Transfer-Encoding 二选一
- 拒绝 \x00 \x0b \x0c 等非法控制字符
- 强制 Host 头存在
- 头部名称大小写规范化(lowercase + 字符白名单)
Re-exports§
pub use chunked::ChunkedDecoder;pub use chunked::ChunkedState;pub use client::ClientError;pub use client::ClientResponse;pub use client::ResponseParser;pub use client::encode_request;pub use client::parse_response;pub use client::parse_response_eof;pub use connection::Http1Connection;pub use connection::Http1ConnectionState;pub use parser::Http1Parser;pub use parser::ParserState;pub use response::Http1ResponseEncoder;pub use response::ResponseSerializeError;pub use smuggling::SmugglingDetector;pub use smuggling::SmugglingKind;pub use types::Http1Config;pub use types::Http1Error;pub use types::HttpRequest;pub use types::HttpRequestLine;