计算机网络——访问网站数据传输过程

计算机网络——访问网站数据传输过程
如上图所示,当左边的个人电脑(IP地址假设为15.0.0.2,Mac地址假设为m4)申请访问一个网页的时候,需要向图中右边的服务器(IP地址假设为13.0.0.2,Mac地址为m1)发送申请,请求访问存储在服务器上的网页。

当申请访问请求到达服务器之后,服务器开始向个人电脑发送网页信息。一般来说,网页都比较大,可能是2M,4M或者更大,因为网站中有很多图片或者文字。因为网页蕴含的信息太多,数据太大,一个数据包(一个数据包最大传输的数据为1500字节)没办法把一个完整的网站传输过去,因此需要对网站信息进行切割,切割成一个数据包能够传输的大小,然后将切割的小数据包进行编号,发给个人电脑之后,个人电脑再按顺序进行拼接,最后进行展现。

计算机网络——访问网站数据传输过程
如上图所示,将一个网站切割为8块,并且进行编号,以便于数据包进行传输。数据切割好之后需要往缓存中进行存储,准备发送。计算机中的网卡都有缓存(发送缓存和接收缓存),在个人电脑的客户端也有缓存。

现在服务器先将网页的前三个数据信息存到发送缓存中,准备发送,具体发送过程和前面博客介绍的一样,具体可以看这里。从发送缓存中发出去的数据包不能马上删除,因为在传输过程中有可能因为网络拥塞导致数据丢失,这时候需要重新发送。

那什么时候数据可以从发送缓存中进行删除呢?在客户端收到服务器发送的网站信息数据包之后,个人电脑客户端会发送一个数据包到服务器,和服务器进行确认,确认可以接着发第二个网站数据包吗,这个时候就可以把前面已经发送的数据包进行删除。如下如所示:

计算机网络——访问网站数据传输过程

当发送缓存中的数据包删除之后,可以将网站数据包的剩余数据包缓存到发送缓存中,等待发送。

当个人电脑客户端接收到网站数据包后,例如用IE浏览器打开网页,网页的图片怎么展现呢?浏览器会从客户端的接收缓存中读取网页数据包,按标记数字进行整合。如下图所示:

计算机网络——访问网站数据传输过程
有时候我们打开一个网站,当图片太大时,可以发现是先出现图片的一部分,然后再慢慢显示下面的部分,下面部分的信息会慢慢从缓存中读取然后进行拼接。

以上就是网页从服务器传送到客户端的整个过程。