Amazon s3 为什么S3在下载整个文件时有时返回HTTP 206?
我已经让我的S3 bucket登录到另一个bucket了。对于操作:REST.GET.OBJECT有时会返回一个,因为没有下载整个文件。但我可以在日志中看到,有时当返回HTTP Status:206时,整个文件被下载。我删除了一些字段以使其更简单:Amazon s3 为什么S3在下载整个文件时有时返回HTTP 206?,amazon-s3,Amazon S3,我已经让我的S3 bucket登录到另一个bucket了。对于操作:REST.GET.OBJECT有时会返回一个,因为没有下载整个文件。但我可以在日志中看到,有时当返回HTTP Status:206时,整个文件被下载。我删除了一些字段以使其更简单: 操作:REST.GET.OBJECT 请求URI:“获取[文件]HTTP/1.1” HTTP状态:206 错误代码:- 已发送字节:76431360 对象大小:76431360 总时间:16276 周转时间:190 这里发生了什么事?如果发送的字
- 操作:REST.GET.OBJECT
- 请求URI:“获取[文件]HTTP/1.1”
- HTTP状态:206
- 错误代码:-
- 已发送字节:76431360
- 对象大小:76431360
- 总时间:16276
- 周转时间:190
这里发生了什么事?如果发送的字节与对象大小相同,那么源如何将其报告为部分内容?206状态与文件传输不完整无关。服务器在开始发送响应正文之前确定要发送的状态代码,因此它必须预测将来是否能够发送整个文件 相反,206状态代码实际上意味着以下三件事同时发生:
- 客户端在其请求中发送了
头李>Range
- 服务器决定尊重它,并准确地发送请求的字节,而不是整个文件李>
- 服务器实际上能够做到这一点——范围是有效的,可以满足的
在这种情况下,标准要求服务器回复206状态代码,而不是200,无论范围恰好覆盖整个文件还是仅覆盖其中的一部分。206状态与不完整的文件传输无关。服务器在开始发送响应正文之前确定要发送的状态代码,因此它必须预测将来是否能够发送整个文件 相反,206状态代码实际上意味着以下三件事同时发生:
- 客户端在其请求中发送了
头李>Range
- 服务器决定尊重它,并准确地发送请求的字节,而不是整个文件李>
- 服务器实际上能够做到这一点——范围是有效的,可以满足的
在这种情况下,标准要求服务器回复206状态代码,而不是200,无论范围恰好覆盖整个文件还是仅覆盖其中的一部分。似乎AWS没有记录范围请求似乎AWS没有记录范围请求