我知道服务器只能通过" TE"请求的标头(或者如果没有" TE"标头,并且客户端是HTTP / 1.1),则仅进行分块。但是,客户端如何知道服务器接受哪些传输编码?因为我知道转移编码可以双向使用。
答案 0 :(得分:0)
对于HTTP协议的1.1版,即使未在TE(传输编码)请求头字段中列出,也认为分块传输机制总是可接受的,并且当与其他传输机制一起使用时,应始终最后应用。传输的数据永远不会超过一次。如果客户端指定“trailers”参数作为TE字段的参数,则该传输编码方法还允许在最后一个块之后发送附加实体头字段。即使客户端没有在TE请求字段中指定“预告片”选项,响应的源服务器也可以决定发送其他实体预告片,但仅当元数据是可选的时(即客户端可以使用没有它们的接收实体) )。每当使用预告片时,服务器应在“预告片”标题字段中列出其名称。
来源:http://en.wikipedia.org/wiki/Chunked_transfer_encoding
客户端不知道可以使用哪一个,它可以假设它被网络服务器选中或者得到一个合适的头部。