最大HTTP数据包大小

时间:2012-10-24 18:23:28

标签: http get amazon-s3 network-protocols packet

HTTP数据包的最大大小是多少?我对HTTP GET请求的响应大小感兴趣(不是this!这个问题与请求大小有关)。有尺寸吗?如果我下载1GiB文件,那最终只是1个HTTP GET请求吗? (直觉上,我不认为会发生这种情况 - 此外,部分下载/多线程下载程序也不起作用。)

我知道有一个IP数据包的最大长度,并且比这更长的TCP数据包在多个IP数据包中被分段。 HTTP也会发生这样的事情吗?我正在寻找这个问题的答案的原因是找出收取1c / 10K获取请求的AWS S3计费方案。那么为1GiB开始提供多少GET请求。

1 个答案:

答案 0 :(得分:0)

我在AWS S3 Forum

Seungyoung Kim上得到了答案
  

如果您使用GET请求下载5GiB文件。 S3的计费系统   将其视为1 GET请求和5GiB数据传输。仅供你,如果你   停止从2GiB下载5GiB的文件,然后它们将只计数   2GiB数据传输。

     

除非您分开通话,否则GET请求通常不会分段   进入几个连续的GET范围呼叫。

     

因此,如果您使用范围标题为每个请求发出5个单独的GET请求   1GiB数据块,它们将其视为5 GET请求但仍然相同   5GiB(1GiB x 5次)数据传输。技术上只有5GiB以上   由于额外的HTTP协议标头。

如果这是正确的,HTTP GET响应没有数据包碎片(虽然它们遇到了几个TCP数据包,丢失的TCP数据包由TCP处理,并且不会违反另一个GET请求恢复)