我知道服务器只能使用请求的“TE”标头指定的传输编码将数据发送到客户端(或者只有在没有“TE”标头并且客户端是 HTTP/1.1 时才分块)。但是,客户端如何知道服务器接受了哪些传输编码?因为我知道传输编码可以两种方式使用。
1 回答
0
对于 1.1 版的 HTTP 协议,分块传输机制被认为总是可以接受的,即使没有在 TE(传输编码)请求头字段中列出,并且当与其他传输机制一起使用时,应该总是最后应用到被传输的数据并且永远不会超过一次。如果客户端将“trailers”参数指定为 TE 字段的参数,则此传输编码方法还允许在最后一个块之后发送附加的实体头字段。响应的源服务器也可以决定发送额外的实体预告片,即使客户端没有在 TE 请求字段中指定“预告片”选项,但前提是元数据是可选的(即客户端可以在没有它们的情况下使用接收到的实体)。每当使用拖车时,
来源:http ://en.wikipedia.org/wiki/Chunked_transfer_encoding
客户端不知道可以使用哪一个,它在假设它被分块或由网络服务器获取适当的标头的假设下工作。
于 2014-05-19T10:51:06.633 回答