我有一段时间使用Server Access Log Format将S3存储桶登录到另一个存储桶。对于操作:REST.GET.OBJECT有时会返回HTTP Status: 206 Partial Content,因为未下载整个文件。但是我可以在日志中看到有时返回HTTP Status:206时会下载整个文件。我删除了一些字段以使其更简单:
这里发生了什么?如果发送的字节与对象大小相同,那么源如何将其报告为部分内容?
答案 0 :(得分:2)
206状态与文件传输不完整无关。服务器在开始发送响应正文之前确定要发送的状态代码,因此它必须预测将来才能知道它是否能够发送整个文件。
相反,状态码206的实际含义是同时发生以下三件事:
Range
标头; 在这种情况下,该标准要求服务器使用206状态代码(而不是200)答复,无论范围是恰好覆盖整个文件还是仅覆盖部分文件。