【发布时间】:2012-12-24 10:21:02
【问题描述】:
考虑一个大的 HTTP 请求:
POST /upload HTTP/1.1
Content-Type: multipart/form-data
Content-Length: 1048576
...
客户端现在开始上传 1 兆字节的数据,这可能需要一段时间。但是,服务器确定需要 HTTP 授权,因此它决定以HTTP 401 Unauthorized 响应。
服务器必须等到它收到整个请求(IE、标头 + CRLF CRLF + Content-Length 字节)后才能响应?
实际上,这种行为会破坏任何浏览器吗?浏览器是否会继续上传文件,或者如果收到“过早”响应,它们会停止传输吗?
更重要的是,在这种情况下,他们是否能够成功验证并再次开始上传(使用凭据),还是像这样切断上传不可靠?
【问题讨论】:
-
那么你找到答案了吗?
-
@DonghwanKim:是的,HTTP 服务器在收到整个请求之前发送响应是有效的。不幸的是,no browser will see the early response and stop sending the request,它本身可能违反了 RFC 2616 § 8.2.2。
-
谢谢,很高兴知道
标签: http