此处的帖子:
http://blogs.adobe.com/dreamweaver/2011/02/optimal-css-tiled-background-image-size.html
有这样的说法:“浏览器可以下载的最小文件为1K字节。”
这是由于网络上数据包的最小大小吗?如果不是,原因是什么(如果确实如此)?
此处的帖子:
http://blogs.adobe.com/dreamweaver/2011/02/optimal-css-tiled-background-image-size.html
有这样的说法:“浏览器可以下载的最小文件为1K字节。”
这是由于网络上数据包的最小大小吗?如果不是,原因是什么(如果确实如此)?
Answers:
数据包在这里是一个模糊的术语,因为有时会误用它来指代传输中的不同元素。让我们看看您的数据包含在其中,您将明白我的意思,并希望得到想要的答案:
假设您正在通过TCP / IP模型通过Internet 发送1字节的数据1。
该数据应用水平和需求开始在头的较低水平,以便它可以传递周围包裹起来。
首先,将数据包装在TCP段中,该段添加20字节的标头(现在最小大小为21字节)。
这使我们处于运输层面。
然后将其包装在IP数据包中,该数据包会添加另一个20字节的标头(现在最小大小为41字节)。
现在我们处于互联网级别。
请注意,每次新路由器将您的数据转发到新子网时,都会更改此包装。
它被包裹在某种类型的链接框架中-标题和页脚的大小取决于所使用的框架的类型,而框架的类型也取决于所使用的链接的类型。
这是在链接级别。
每当单位在两个实体之间传输时,此包装都会更改。
最后是物理传输(例如电缆上的电信号,无线电波等)。
以下是Wikipedia TCP / IP模型页面上的一些有用的图像,可以直观地解释正在发生的事情:
1.我想您也许可以发送0字节...但尚未检查。实际上,我也没有检查是否允许1个字节,但是嘿。
从表面上看,您引用的博客文章不正确。HTTP没有“最小下载大小”。(而且关于最小数据包大小的理论也是不正确的。)
但是,这有一定道理。这就是说,如果要下载的文件的大小足够小,则HTTP响应消息(由文件和HTTP响应标头组成)将适合单个网络数据包。如果发生这种情况,则浏览器获取文件的速度可能要比两个或多个数据包发送响应的速度更快。
(在响应中有一个数据包的情况下,数据包被丢弃并需要重新发送的可能性较小,TCP / IP流量控制窗口不会为数据包确认增加额外的往返延迟的可能性更大。 )
对于以太网,发送/接收的数据包(最大传输单元)的典型最大大小为1500字节。如果将IP和TCP开销以及典型的HTTP响应标头的大小考虑在内,则可能会在响应的第一个数据包中留下约1K的文件数据空间。因此,博客评论中的真理。
比你想的还要糟。
页面加载缓慢是因为浏览器在渲染1x1像素800000次时遇到问题(例如,将浏览器窗口设置为1000x800)。很多年前,也许是在1999年,我读了一篇文章,该文章规定16x16是“最快” x最小的平铺。当然,现在渲染可能会有所不同。
如果您阅读该博客文章,则投诉实际上是有关页面加载缓慢的问题。下载速度不慢。尽管它是一个有趣的讨论,但它与数据包无关。
因此,也许应该重新措辞这个问题。
size
在像素尺寸和字节数上都使用了“ ” ,并将它们混合在一起。您的解释是合理的,但与图像的字节数无关(与博客所说的相反)。