分块传输编码

✍ dations ◷ 2025-08-26 10:15:33 #分块传输编码

分块传输编码(Chunked transfer encoding)是超文本传输协议(HTTP)中的一种数据传输机制,允许HTTP由网页服务器发送给客户端应用( 通常是网页浏览器)的数据可以分成多个部分。分块传输编码只在HTTP协议1.1版本(HTTP/1.1)中提供。

通常,HTTP应答消息中发送的数据是整个发送的,Content-Length消息头字段表示数据的长度。数据的长度很重要,因为客户端需要知道哪里是应答消息的结束,以及后续应答消息的开始。然而,使用分块传输编码,数据分解成一系列数据块,并以一个或多个块发送,这样服务器可以发送数据而不需要预先知道发送内容的总大小。通常数据块的大小是一致的,但也不总是这种情况。

HTTP 1.1引入分块传输编码提供了以下几点好处:

如果一个HTTP消息(包括客户端发送的请求消息或服务器返回的应答消息)的Transfer-Encoding消息头的值为chunked,那么,消息体由数量未定的块组成,并以最后一个大小为0的块为结束。

每一个非空的块都以该块包含数据的字节数(字节数以十六进制表示)开始,跟随一个CRLF (回车及换行),然后是数据本身,最后块CRLF结束。在一些实现中,块大小和CRLF之间填充有白空格(0x20)。

最后一块是单行,由块大小(0),一些可选的填充白空格,以及CRLF。最后一块不再包含任何数据,但是可以发送可选的尾部,包括消息头字段。

消息最后以CRLF结尾。

25This is the data in the first chunk1Cand this is the second one3con8sequence0

编码数据的解释

前两个块的数据中包含有显式的rn字符。

"This is the data in the first chunkrn"      (37 字符 => 十六进制: 0x25)"and this is the second onern"               (28 字符 => 十六进制: 0x1C)"con"                                          (3  字符 => 十六进制: 0x03)"sequence"                                     (8  字符 => 十六进制: 0x08)

编码的数据需要以0长度的块( "0rnrn".)结束。

相关

  • 多胺多胺(英语:polyamines),又称多元胺,是一种具有两个或多个主要胺基(-NH2)的有机化合物。这类的化合物包含一些合成物质,可以做为化学工业中重要的原料,像是乙二胺(H2N–CH2–CH2–NH
  • 欧文·理查森欧文·瑞查森爵士,FRS(英语:Sir Owen Willans Richardson,1879年4月26日-1959年2月15日),英国物理学家,他在热离子学发射领域做出重大贡献,特别是发现了瑞查森定律 (英语:Richardson's
  • 楼陀罗楼陀罗(梵文:रुद्र,Rudra),又译为鲁特罗,印度神话中司风暴、狩猎、死亡和自然界之神。他还拥有三目(Tryambaka)、兽主(Paśupati)、射手(Śarva)、大天(摩诃提婆,Mahādeva)、荒神(Ugra
  • 大稻埕变电所大稻埕变电所,亦称为建成变电所,为台北市大同区的一处变电所,原为台湾电力株式会社于1930年代兴建的二次变电所,建筑外观位西北侧的转角处以台湾电力株式会社的社徽作为装饰;其在
  • 杰士德加克里斯·塔克(英语:Chris Tucker),本名克里斯托弗·塔克(Christopher Tucker,1971年8月31日-)是一名美国男演员,出生于佐治亚州的亚特兰大。代表作有《尖峰时刻》系列。
  • 海因里希·冯·赫尔佐根伯格海因里希·彼得·弗雷赫尔·冯·赫尔佐根伯格(德语:Heinrich Peter Freiherr von Herzogenberg,1843年6月10日-1900年10月9日),法国血统的奥地利作曲家。他是法国贵族的后裔,早年先
  • 约纳斯·加尔·斯特勒约纳斯·加尔·斯特勒(Jonas Gahr Støre,1960年8月25日-)是挪威从政者,隶属工党。他于2005年至2012年担任挪威外交大臣,2012年至2013年担任卫生与护理大臣。他自2009年起是挪威国
  • 萨哈尔萨萨哈尔萨(Saharsa),是印度比哈尔邦Saharsa县的一个城镇。总人口124015(2001年)。该地2001年总人口124015人,其中男性67010人,女性57005人;0—6岁人口20837人,其中男10747人,女10090人;
  • 区则敬区则敬,号宾臣,中国清朝官员,广东新会县人,监生出身。于光绪元年十一月廿七日(1875年12月24日)担任恒春知县一职,后因案撤卸,病故在署。
  • 博尔格纳赫河坐标:47°30′11″N 9°55′13″E / 47.50306°N 9.92028°E / 47.50306; 9.92028博尔格纳赫河(德语:Bolgenach),是德国的河流,位于该国东南部,由巴伐利亚负责管辖,属于魏萨赫河的左