我正在使用ServerSocket和Socket在java中编写一个http服务器。
在规范中,它表示请求可以是“分块”类型。那么如何在任何浏览器中启用此选项来测试请求的解析?
答案 0 :(得分:1)
您可以轻松自行补充请求:
POST /search HTTP/1.1
Host: www.example.com
Transfer-Encoding: chunked
Content-Length: 25
000a
q=23456789
000a
0123456789
0005
01234
0
此请求分为三部分,您的服务器应接收q=23456789012345678901234
作为POST数据。
注意:在请求结束时您需要另一个CRLF,此标记语言无法显示。
答案 1 :(得分:1)
AFAIK大多数桌面浏览器不会发送分块请求,因为某些Web服务器无法正确处理它们(或根本没有),并且计算长度比检测/猜测/记住哪些服务器支持它更容易。
curl命令行工具可以发送分块请求:
curl -v -d "name=value" --header "Transfer-Encoding: chunked" http://foo.com/bar