Java Server和分块数据

时间:2011-06-05 16:24:15

标签: java http

我正在使用ServerSocket和Socket在java中编写一个http服务器。

在规范中,它表示请求可以是“分块”类型。那么如何在任何浏览器中启用此选项来测试请求的解析?

2 个答案:

答案 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