当我上网时上传了什么?


25

我正在使用调制解调器,它显示的下载速度为n kbps,上传速度为m kbps。当我查看其日志时,它会显示下载和上传的数据量。我想知道为什么它显示我在一小时内上传了3 MB的数据,当我从不上传任何内容或使用torrent时,这似乎过多了。

那我上网冲浪时上传什么?

Answers:


46

有关TCP连接和确认如何工作的更多详细信息,请参见Diogo的答案

当您访问网站时,会发生以下情况:

  1. 与您的DNS服务器建立连接(如果尚未完成),您的计算机已经知道该服务器的IP地址(或通过某种自动机制从ISP请求此信息),发送数据包以进行连接并确认连接已取得。建立连接后,您的站点会询问您访问的站点的IP地址,以便它知道要与该站点联系的计算机。这意味着它将发送一个包含域名的数据包以获取该响应。稍后,它还会发送一个数据包以关闭连接。

  2. 与承载您要访问的站点的Web服务器建立了连接,这再次发送一个数据包以进行连接并确认连接。之后,它会请求您要访问的页面,并再次发送数据包。然后它响应,并为您提供了网页的HTML,该HTML指示了页面的结构(而不​​是布局)。

  3. 因为只有结构,所以您仍然需要获取其余结构。因此,提出了额外的请求(一个SU问题类似40个请求),以获取脚本,样式和媒体(例如图像等)。并且由于其中一些可能与您访问的服务器不在同一Web服务器上,因此可能会进行其他DNS解析,使您返回到步骤1。

  4. 最重要的是,请注意,确认收到的每个数据包都添加了另一个要上传的数据源,以节省数据包通常通常一次确认多个数据包。因此,当您收到某件东西时,您将把收到的东西发送到服务器,这样它就知道它发送的东西不会丢失。这样,服务器不必再次尝试发送它。

最重要的是,您必须先连接一些请求并将其上传到要从中下载的服务器,然后才能下载内容。这就是补充一点上传的内容...

并不仅仅是单击,还可以做更多的事,让我们以您的问题为例:您键入了大约500个字符,一个字符算作1个字节(如果是ASCII字符,则全部为这种情况),并且可以1至4个字节(如果是Unicode字符)。因此,您的问题实际上需要0.5 KB或0.00005 MB!不仅是发送给我们的问题,而且还被POST或AJAX请求所包围,该请求要求服务器存储您的问题以及数据包头本身。

如果将所有内容加起来,那么在几个小时左右的时间内达到几兆字节就变得很合理。


1
尝试在旅途中提及Diogo时概述威廉的答案,也请对其进行投票!:)
Tamara Wijsman

2
当我应该写出这样一个详细的答案时,我尽力快一点!我似乎总是想念这些答案,那就是火箭!!!
William Hilsum 2012年

27

根据您在向网络服务器输入地址(例如,向www.google.com输入地址)以请求与该站点的HTTP连接时所做的要求,上传的内容主要是基于上传的。在这些请求之后,上传的下一个点是其握手过程中的ACK(来自HTTP协议的TCP连接的确认):

在数据网络中,确认(或确认)是作为通信协议的一部分在通信过程或计算机之间传递的信号,用于表示确认或响应的接收。例如,在传输控制协议中使用ACK数据包在建立连接时确认SYN数据包的接收,在使用连接时确认数据包,而在终止连接时确认FIN数据包。

为了举例说明,请看一下TCP图表(您在Internet上冲浪时使用TCP):

图


15

简而言之,当您在线时,来自远程目标的所有内容都是下载,而您发送的所有内容都是上传。

因此,即使只是简单地请求网页,也将由您的机器(最有可能)组成,该机器发出DNS请求,连接到网络服务器,发送对页面的请求,然后发送对该页面上每个元素/图片/ css / javascript的请求。

一个小时使用3MB并不是真的那么多!


当我请求一个页面时,与该页面相关的所有信息都会自动出现,或者对于每个元素,您都会提到一个单独的请求?
Deb 2012年

1
@Debabratta为每个资源发送一个单独的请求。一个用于页面(带有内容-文本,标记-布局等),每个用于页面中引用的各种图像,javascript文件,css文件。(有时浏览器使用缓存-您上次访问该页面时下载的图像的副本。但这也涉及到查看图像是否已更改的请求)。来自Flash,Silverlight或其他类似插件的请求也会加在一起。
尼瓦斯(Nivas)2012年

2

除了普通的TCP和HTTP数据包以外,您还应该了解一些跟踪器捕获的特殊信息。在Ghostery专用网站上获取信息。

它们只会使必要的数据变大!


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.