Answers:
有关TCP连接和确认如何工作的更多详细信息,请参见Diogo的答案
当您访问网站时,会发生以下情况:
与您的DNS服务器建立连接(如果尚未完成),您的计算机已经知道该服务器的IP地址(或通过某种自动机制从ISP请求此信息),发送数据包以进行连接并确认连接已取得。建立连接后,您的站点会询问您访问的站点的IP地址,以便它知道要与该站点联系的计算机。这意味着它将发送一个包含域名的数据包以获取该响应。稍后,它还会发送一个数据包以关闭连接。
与承载您要访问的站点的Web服务器建立了连接,这再次发送一个数据包以进行连接并确认连接。之后,它会请求您要访问的页面,并再次发送数据包。然后它响应,并为您提供了网页的HTML,该HTML指示了页面的结构(而不是布局)。
因为只有结构,所以您仍然需要获取其余结构。因此,提出了额外的请求(一个SU问题类似40个请求),以获取脚本,样式和媒体(例如图像等)。并且由于其中一些可能与您访问的服务器不在同一Web服务器上,因此可能会进行其他DNS解析,使您返回到步骤1。
最重要的是,请注意,确认收到的每个数据包都添加了另一个要上传的数据源,以节省数据包通常通常一次确认多个数据包。因此,当您收到某件东西时,您将把收到的东西发送到服务器,这样它就知道它发送的东西不会丢失。这样,服务器不必再次尝试发送它。
最重要的是,您必须先连接一些请求并将其上传到要从中下载的服务器,然后才能下载内容。这就是补充一点上传的内容...
并不仅仅是单击,还可以做更多的事,让我们以您的问题为例:您键入了大约500个字符,一个字符算作1个字节(如果是ASCII字符,则全部为这种情况),并且可以1至4个字节(如果是Unicode字符)。因此,您的问题实际上需要0.5 KB或0.00005 MB!不仅是发送给我们的问题,而且还被POST或AJAX请求所包围,该请求要求服务器存储您的问题以及数据包头本身。
如果将所有内容加起来,那么在几个小时左右的时间内达到几兆字节就变得很合理。
简而言之,当您在线时,来自远程目标的所有内容都是下载,而您发送的所有内容都是上传。
因此,即使只是简单地请求网页,也将由您的机器(最有可能)组成,该机器发出DNS请求,连接到网络服务器,发送对页面的请求,然后发送对该页面上每个元素/图片/ css / javascript的请求。
一个小时使用3MB并不是真的那么多!
除了普通的TCP和HTTP数据包以外,您还应该了解一些跟踪器捕获的特殊信息。在Ghostery专用网站上获取信息。
它们只会使必要的数据变大!
一个更简单的分解: