http的Transfer-Encoding和Content-encoding

Transfer-Encoding属于general header,目前的值似乎只有chunked,是用来做块传输的。

例如:

#!/bin/bash
echo -e -n "Transfer-Encoding: chunked\r\n"
echo  -e -n "Content-type: text/html\r\n"

#add an empty line between header and message
echo -e -n "\r\n"

echo -e -n "b\r\nhelloworld!\r\n"
echo -e -n "3\r\nabc\r\n"
echo -e -n "0\r\n"
#add an empty line to terminal the chunked transfer
echo -e -n "\r\n"

这个CGI的输出是 “helloworld!abc”

Content-encoding是用来做压缩的,可选的值包括:gzip、compress、defalt、或者是identity。identity是默认的值,不使用任何转换,其余三种收到的应该是压缩过的数据,需要解压。

updatedupdated2022-02-222022-02-22