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

时间:2010-01-17 08:50:17

标签: http

即使访问被拒绝,HTTP服务器是否应该从PUT请求中读取整个请求正文?

或者它是否符合返回401 Not Authorized,不读取任何内容或只读取身体的一小部分内容。 (并添加'Connection:close'以防止连接被重用)

2 个答案:

答案 0 :(得分:3)

小心:除非我遗漏了一些不读取整个请求的内容,否则可能会阻止客户端(尝试发送它)。

请注意,可以通过包含

来避免这种情况

期待:100-continue

请参阅RFC 2616, Section 8.2.3

答案 1 :(得分:2)

不,您的网络服务器不必阅读http请求的全部内容。

RFC

中没有必要提及
  

10.4.2 401未经授权

     

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

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