转移编码:分块

Vic*_*cky 47 websphere tomcat http transfer-encoding http-headers

我试图了解更多Transfer-Encoding:chunked.在PHP中引用了一些文章:http: //zoompf.com/blog/2012/05/too-chunky"Transfer-Encoding:chunked"标题.

我仍然没有得到非常清晰的画面.我知道设置此编码允许服务器将块中的内容设置为浏览器,并在使网站响应的同时导致部分内容呈现.

如果我在IBM WAS上托管了一个提供动态内容的Web应用程序(例如:基于JSF的Web应用程序),那么大多数Web页面都设计为服务器丰富的静态内容,包含大量的CSS和JS文件+动态内容.如何为我的页面设置transfer-encoding'chunked'?或者换句话说:

  • 您如何确定哪个页面将具有该页面'Transfer-Encoding: chunked'以及如何为该页面设置该页面?

您的个人经历对我的理解肯定是有价值的.

Jul*_*hke 37

Transfer-Encoding: chunked渐进式渲染不需要.然而,它当第一字节被发送之前的总含量长度是未知需要.

  • 这取决于您的网络服务器。通常,当您在不知道长度的情况下开始发送数据时,它会自动使用。 (2认同)

web*_*key 6

当服务器需要发送大量数据时,服务器将使用分块编码,因为它不完全知道数据的大小(长度)。用HTTP术语来说,当服务器发送响应时,服务器将省略Content-Length标头。相反,服务器以十六进制格式写入当前块的长度,后跟\ r \ n,然后是块,然后是\ r \ n(内容以十六进制的块大小开头,后跟块)

此功能可用于渐进式渲染。但是服务器需要尽可能刷新数据,以便客户端可以逐渐呈现内容(在html,css等情况下)

服务器将数据大量推入客户端时通常使用此功能-通常以大容量(mega / giga)

Mozilla文档