我有你常用的静态站点,服务器抓取.html文件并发送它们。
我理解Transfer-Encoding: chunked
对动态服务器页面的重要性,因为它就是它的设计目标。加速可能非常不可思议。但静态文件的速度增加是否相同? 浏览器是否已逐步呈现&使用Content-Length
的请求获取,因为文件通过网络到达?
我有一些非常庞大的HTML(百页范围内的文档),因此渐进式HTML处理至关重要。 (有点像WHATWG如何提供单页单页HTML5规范。)
答案 0 :(得分:5)
简短回答:是的,浏览器会逐步呈现使用Content-Length
标头发送的内容。实际上,如果浏览器具有Content-Length
标头,则浏览器的计算量会少一些,因为它预先知道文档需要多长时间而不必解析文档中的块信息。
必须在发送任何内容之前发送Content-Length
标头(如果有)。因此,服务器必须在发送任何文档内容之前知道文档的长度。
对于仅动态内容,分块编码更快。
如果服务器只能使用Content-Length
标头,那么对于动态内容,它需要在发送任何内容之前完成文档生成。这可能导致客户端等待,可能很长时间没有看到任何文档。
Chunked编码通过允许服务器不必发送Content-Length
标头来解决这个问题。