分块传输编码

✍ dations ◷ 2025-06-22 13:57:34 #分块传输编码

分块传输编码(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".)结束。

相关

  • 钙离子通道阻滞剂中毒钙离子通道阻滞剂中毒(Calcium channel blocker toxicity)是指因服用过量钙离子通道阻滞剂类的药物(CCBs)而造成的疾病。会造成心跳过缓及低血压,且可能会进展为心搏停止,有些则反
  • 有机发光晶体管有机发光晶体管(英语:organic light-emitting transistor,简称OLET;也称有机发光敏晶体管)是一种新型的发光晶体管。该种晶体管已被声称具有显示器和片上光互连的潜力。OLET是一
  • 索尼亚·阿西拉索尼亚·阿西拉(1991年8月20日-)是一名阿尔及利亚柔道运动员,曾代表国家参加2012年伦敦奥运的女子柔道重量级比赛和2016年里约奥运的女子柔道重量级比赛,两次均未能获得奖牌。
  • 赵正夫赵正夫(1930年12月-2017年5月14日),男,河南博爱人,中华人民共和国政治人物,曾任河南省人民政府副省长,河南省政协副主席。
  • 实习医师斗格角色集数列表本列表实习医师斗格每季角色登场人物,实习医师50集左右换科。
  • 米格尔·安赫尔·马丁内斯·马丁内斯米格尔·安赫尔·马丁内斯·马丁内斯(西班牙语:Miguel Ángel Martínez Martínez,1940年1月30日-)是西班牙政治人物,西班牙工人社会党党员。曾任欧洲议会议员,欧洲议会副主席。19
  • 李安世李安世(443-493),赵郡平棘县(今河北省赵县)人,李祥之子。十一岁为文成帝招为中书学生。历任主客令,南齐刘缵出使北魏,李安世负责接待。刘缵很欣赏李安世,称“不有君子,其能国乎?”。后
  • 郑天财郑天财(阿美语:Sra.Kacaw,英语:Jeng, Tian-Tsair;1956年12月16日-),台湾阿美族政治人物,中国国民党籍,花莲县瑞穗乡人,国立台湾大学法律系毕业,前台湾省政府副秘书长、公务人员出身,也是台湾第一位升至简任第十四职等的原住民公务员,现任第八、九、十届平地原住民选区立法委员。2002年,荣获考试院颁发公务人员杰出贡献奖。2012年,中国国民党提名当选平地原住民立法委员。2016年,以选区第一高票连任立法委员。2018年12月10日,立法院审查促进转型正义委员会预算,中国国民党发
  • 陈铁民 (1938年)陈铁民(1938年4月-),福建泉州人,中国社会科学院文学研究所研究员,中国社会科学院荣誉学部委员。1960年毕业于北京大学中文系文学专业。1963年毕业于北京大学中文系古典文献专业。
  • 克里斯蒂安·拜尔斯克里斯蒂安·拜尔斯(Christian Byers,1993年7月31日-)是澳大利亚的一位演员。他出演的首部电影是Opal Dream。拜尔斯现在就读于雪梨科技大学。