如果我检查“内容长度”标题,它是不是 100% 准确?

Posted

技术标签:

【中文标题】如果我检查“内容长度”标题,它是不是 100% 准确?【英文标题】:If I check the "content-length" header, is it 100% accurate?如果我检查“内容长度”标题,它是否 100% 准确? 【发布时间】:2012-02-04 16:15:25 【问题描述】:

如果不是,准确度如何?

我想在下载之前知道图片的大小。

【问题讨论】:

【参考方案1】:

它应该而且通常是准确的。然而,Web 服务器完全有可能报告不正确的内容长度,尽管这显然不会经常发生(我记得旧版本的 apache 会重新调整大于 2GB 的文件的无意义内容长度)。

提供 Content-Length 标头也不是强制性的

【讨论】:

【参考方案2】:

如果内容长度不正确,浏览器可能会无情。

我遇到了一个问题here,服务器有时返回的内容长度太短。浏览器就是不会处理它。

所以是的,您可以假设服务器正确设置了内容长度,基于浏览器客户端工作在相同假设上的知识。

【讨论】:

【参考方案3】:

Content-Length 可以由服务器代码(或)由 apache 层本身发送。 当代码不发送时,apache会发送它。

当客户端连接并关闭套接字时存在已知的客户端崩溃 发送的内容长度更小。

由于图像通常不是由代码在运行时生成的,因此您可以依赖它。

【讨论】:

Apache 只为小的响应体添加 Content-Length。来自 (***.com/a/9728553/468921) 的源 cmets。【参考方案4】:

HTTP Content-length 标头是否格式错误?是的。 您是否应该相信它是消息正文大小的公平表示?是的。

【讨论】:

【参考方案5】:

最好是 - 否则为什么要拥有它?

如果无法提前可靠确定,则根本不应该由服务器提供服务。 (例如,在处理动态生成的文本时,可能会使用 chunked transfer encoding 之类的东西——当 HTTP 标头写在流的开头时,它不需要知道最终长度。)

【讨论】:

因为用户期望一个进度条并且内容长度并不总是提前知道的。当指定的长度小于传递的内容时,浏览器通常会出错,但当长度估计过高时,浏览器会优雅地接受。好文章在这里bit.ly/1yjXciq

以上是关于如果我检查“内容长度”标题,它是不是 100% 准确?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查我的窗口是不是隐藏/可见?

Bootstrap 4 Navbar 列大小不是 100%

用于检测图中循环的算法的修改

jQuery检查Cookie是不是存在,如果不存在则创建它

next.js 中的 div 高度不是 100% [重复]

检查点是不是位于(或靠近)凸多边形边缘