考虑一个大的HTTP请求:
POST /upload HTTP/1.1
Content-Type: multipart/form-data
Content-Length: 1048576
...
Run Code Online (Sandbox Code Playgroud)
客户端现在开始上传一兆字节的数据,这可能需要一段时间.但是,服务器确定需要HTTP授权,因此它决定它将响应HTTP 401 Unauthorized.
必须服务器等待,直到它收到整个请求(IE,标头+ CRLF CRLF + Content-Length字节)才能响应?
实际上,这种行为会破坏任何浏览器吗?浏览器是否继续上传文件,或者如果收到"过早"响应,它们是否会停止传输?
更重要的是,在这种情况下,他们是否能够成功进行身份验证并再次开始上传(使用凭据),或者像这样切断上传是否不可靠?
小智 24
查看定义协议的RFC 2616,在8.2.2节监视错误状态消息的连接中,它指出
发送消息体的HTTP/1.1(或更高版本)客户端应该在发送请求时监视网络连接的错误状态.如果客户端看到错误状态,它应该立即停止传输正文.
所以我会说使用你可以跳转发送401错误.然后看10.4.2 401 Unauthorized
该请求需要用户身份验证.响应必须包含WWW-Authenticate头字段(第14.47节),其中包含适用于所请求资源的质询.客户端可以使用合适的Authorization头字段重复请求
客户端可以使用适当的凭据重试的状态.
我没有进行任何实验来看看浏览器实际上是如何执行的.
| 归档时间: |
|
| 查看次数: |
5797 次 |
| 最近记录: |