Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 为什么S3在下载整个文件时有时返回HTTP 206?_Amazon S3 - Fatal编程技术网

Amazon s3 为什么S3在下载整个文件时有时返回HTTP 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 这里发生了什么事?如果发送的字

我已经让我的S3 bucket登录到另一个bucket了。对于操作:REST.GET.OBJECT有时会返回一个,因为没有下载整个文件。但我可以在日志中看到,有时当返回HTTP Status:206时,整个文件被下载。我删除了一些字段以使其更简单:

  • 操作: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没有记录范围请求