HTTP 1.1 TE标头

时间:2014-06-10 06:28:31

标签: http rfc2616

在阅读RFC2616时,我遇到了用于分块编码的TE和Transfer Encoding标头。我有以下问题:

  1. 如果HTTP服务器由于存在TE标头而拒绝请求,那么它是否符合RFC?
  2. 如果HTTP客户端发送带TE标头的请求以及t-codings和q值列表,并且一旦q值为1,则HTTP服务器必须发送具有该编码的响应数据,例如:TE: deflat; q = 0.5 gzip; q = 1(这是否要求服务器压缩gzip中的实体数据并发送它或者服务器可以忽略它并以正常方式发送数据?)。
  3. 如果HTTP服务器不支持接收分块数据(我知道它违反RFC,但是有意),那么可能是正确的错误响应代码要发送回客户端,以便客户端下次执行不要以分块的方式发送PUT请求。
  4. 提前感谢您的宝贵意见和建议。

1 个答案:

答案 0 :(得分:0)

RFC 7230中说,

  

" TE"请求中的标题字段表示转移编码,
  除了chunked,客户愿意接受回应,和   客户是否愿意接受中的拖车字段   分块传输编码。

这表明TE只是客户端的声明,可以被下一个服务器忽略。 HTTP服务器没有理由拒绝带有TE头的请求。如果服务器不支持chunked,那么它不支持HTTP 1.1,因此应该将传入请求解释为1.0请求并相应地做出响应。请参阅here