假设您坐在家用电脑上,通过您select的浏览器来请求https://google.com 。 TCP握手完成,谷歌的服务器发送HTML / JS页面(和其他任何资源使用)。
这些页面太大而无法在一个数据包中发送,因此它将页面分成多个部分,因此数据包也是如此
有效载荷(数据)会来吗?
喜欢:
数据包1 – 首先收到
<html> <head> <script src='./blah/blah.js'</script> </head>
数据包2 –接收第二
<body> <h4> Hi I'm Google.com </h4>
数据包3 –接收第三
</body> </html>
我只是谈论应用层的数据包 (有效载荷) 中的数据 。 我想知道是否有一个结构的数据包接收的顺序。 如果浏览器不按顺序重新组装,浏览器如何?
使用HTTP,数据将在应用层顺序接收。 这是因为HTTP在传输层使用TCP协议。 TCP提供的服务之一是顺序段sorting。 这是通过在TCP报头中有一个数据包序号字段来完成的。
这并不意味着数据包实际上是按顺序到达系统的。 另外,其他传输协议(如UDP)不提供分段sorting,因此分段按接收顺序传送到应用程序。