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

即使在生成“401未授权”响应时,服务器也必须读取Put请求的主体吗?

  •  2
  • mar10  · 技术社区  · 15 年前

    即使拒绝访问,HTTP服务器是否希望从Put请求读取整个请求体?

    或者,在没有阅读任何东西或仅仅是身体的一小部分的情况下,退回一个没有授权的401是否符合要求?(并添加“connection:close”以防止重新使用连接)

    2 回复  |  直到 15 年前
        1
  •  3
  •   Julian Reschke    15 年前

    小心:除非我遗漏了一些没有阅读的内容,否则整个请求体可能会阻塞客户机(试图发送它)。

    注意,这可以通过包括

    预期:100继续

    RFC 2616, Section 8.2.3

        2
  •  2
  •   Henrik P. Hessel    15 年前

    不,您的Web服务器不必读取HTTP请求的整个主体。

    在RFC中没有必要提及

    10.4.2 401未经授权

    请求需要用户 身份验证。响应必须 包括WWW认证头 字段(第14.47节)包含 适用于被请求人的挑战 资源。客户可以重复 以适当的授权请求 标题字段(第14.8节)。如果 请求已包含授权 凭证,然后是401响应 表示授权已经 拒绝这些证书。如果 401响应包含相同的 作为先前回应的挑战,以及 用户代理已尝试 身份验证至少一次,然后 应向用户展示实体 这是在答复中给出的,因为 该实体可能包括 诊断信息。HTTP访问 “http”中解释了身份验证 身份验证:基本和摘要 访问认证“[43]。

    来源: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html