代码之家  ›  专栏  ›  技术社区  ›  Fionn

HTTP传输编码和请求

  •  6
  • Fionn  · 技术社区  · 17 年前

    6 回复  |  直到 17 年前
        1
  •  4
  •   ChristopheD    17 年前

    未知的传输编码应引发HTTP错误501“未实现”。 至少Apache就是这么做的。

    http://argray.com/unixfaq/httpd_error_codes.shtml

    编辑: 指向相应RFC部分的指针: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.2

        2
  •  3
  •   Julian Reschke    17 年前

    我同意这个问题的答案并不明显,并已跟进 HTTP WG's mailing list .

    更新:Bjorn H.正确地指出:

    RFC 2616第3.6节:

    接收 带有传输编码的实体体 不明白应该返回 501(未实现),并关闭
    连接。

        3
  •  1
  •   mP.    13 年前

    主要是个人意见。

    我一直认为5xx错误是实际的编程错误,就像有东西掉了一样。如果服务器不理解请求,我会说4xx错误是更好的响应,因为问题在于请求,而不是服务器上的失败进程。我不确定是哪一个4xx,但有几个,所以选择一个应该不难。

        4
  •  0
  •   Ferdinand Beyer    17 年前

    Transfer-Encoding 因为HTTP版本格式不正确。因此,服务器应响应 400 Bad Request .

        5
  •  0
  •   hmakholm left over Monica    13 年前

    500内部服务器错误 而不是501,因为RFC-2616说服务器必须理解它。

    然而,如果服务器选择不接受带有分块体的请求,并想为此责怪客户端,一种合法的方法是 411所需长度 --因为不能同时使用Content-Length和Transfer-Encoding,而且无论如何都不使用它们发送请求是不切实际的。

        6
  •  -1
  •   mjy    17 年前

    RFC有点不清楚,但依我之见,它应该是 .

    推荐文章