事先不知道Content-Length的长度, 于是使用 Transfer-Encoding: chunked 字段, 发送下面这样的http响应信息给浏览器 , 为什么浏览器好像无法读取呢?
HTTP/1.1 200 OK\r\n
Transfer-Encoding: chunked\r\n
Content-type: text/html\r\n
\r\n
这里响应主体内容, 事先不知道长度
事先不知道Content-Length的长度, 于是使用 Transfer-Encoding: chunked 字段, 发送下面这样的http响应信息给浏览器 , 为什么浏览器好像无法读取呢?
HTTP/1.1 200 OK\r\n
Transfer-Encoding: chunked\r\n
Content-type: text/html\r\n
\r\n
这里响应主体内容, 事先不知道长度
3 回答2.3k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
并不会啊,好多网站都启用了gzip压缩,这种时候就是Transfer-Encoding: chunked,不会无法读取的,除非你传的数据有问题,chunked格式是给按块传的,每一块都是有大小的,以我们想要的发送实际结果是
1234567890
这10个字节的话,最理想的结果就是这样的。如上面的, 1234567890,的前面单独有一行的A就表示接下来读10个字节,读完10字节后换行,开始读下一个块,最后一定有个大小为0的块用来表示已经读完了,如果你直接发个1234567890的话,换行的话,浏览器以为马上要发一个大小为 78187493520 字节的数据块过来