首页 > 解决方案 > HTTP 请求解析

问题描述

我想了解在 HTTP 请求的情况下“传输编码:分块”的用法。

请求被分块是否常见?

我的想法是否定的,因为在处理之前需要完全读取请求,因此发送分块请求是没有意义的。

标签: httprequest

解决方案


对于充当反向代理或正向代理的 HTTP 代理,因此从一侧获取消息并在另一侧发送,使用分块传输意味着您可以发送您拥有的部分消息,而无需将其存储在本地。您可以避免“缓冲”问题、减速和存储问题。

您还可以根据每个参与者首选的数据块大小进行一些优化,例如您可以有一个参与者喜欢发送 8000 字节的数据包,因为这是他自己的内核设置(tcp 窗口、内部 http 服务器缓冲区大小等)的好数字),而另一个参与者使用较小的 2048 字节块进行消息传输。

最后,您不需要计算消息的大小,消息将在流结束标记处结束,仅此而已。如果您要发送即时压缩的内容,这也很有用,您可能不知道最终大小,直到所有内容都被压缩。

分块传输被大量使用。如果您要求HTTP/1.1mode 而不是,它是大多数 HTTP 服务器的默认模式HTTP/1.0


推荐阅读