国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 網(wǎng)絡(luò)通信 > 正文

HTTP協(xié)議四--關(guān)于Chunked編碼

2019-11-04 11:35:40
字體:
供稿:網(wǎng)友

在有時(shí)服務(wù)器生成HTTP回應(yīng)是無法確定消息大小的,這時(shí)用Content-Length就無法事先寫入長度,而需要實(shí)時(shí)生成消息長度,這時(shí)服務(wù)器一般采用Chunked編碼。
  在進(jìn)行Chunked編碼傳輸時(shí),在回復(fù)消息的頭部有transfer-coding并定為Chunked,表示將用Chunked編碼傳輸內(nèi)容。采用以下方式編碼:
  Chunked-Body=*chunk
         "0"CRLF
         footer
         CRLF
  chunk=chunk-size[chunk-ext]CRLF
      chunk-dataCRLF

  hex-no-zero=<HEXexcluding"0">

  chunk-size=hex-no-zero*HEX
  chunk-ext=*(";"chunk-ext-name["="chunk-ext-value])
  chunk-ext-name=token
  chunk-ext-val=tokenquoted-string
  chunk-data=chunk-size(OCTET)

  footer=*entity-header
  編碼使用若干個(gè)Chunk組成,由一個(gè)標(biāo)明長度為0的chunk結(jié)束,每個(gè)Chunk有兩部分組成,第一部分是該Chunk的長度和長度單位(一般不寫),第二部分就是指定長度的內(nèi)容,每個(gè)部分用CRLF隔開。在最后一個(gè)長度為0的Chunk中的內(nèi)容是稱為footer的內(nèi)容,是一些沒有寫的頭部內(nèi)容。
  下面給出一個(gè)Chunked的解碼過程(RFC文檔中有)
  length:=0
  readchunk-size,chunk-ext(ifany)andCRLF
  while(chunk-size>0){
  readchunk-dataandCRLF
  appendchunk-datatoentity-body
  length:=length+chunk-size
  readchunk-sizeandCRLF
  }
  readentity-header
  while(entity-headernotempty){
  appendentity-headertoexistingheaderfields
  readentity-header
  }
  Content-Length:=length
  Remove"chunked"fromTransfer-Encoding
  下一次將會討論一些小問題,如POST方法的數(shù)據(jù)傳輸?shù)取?br />  最后,還有一點(diǎn)要說的是,似乎NetAnt的一個(gè)版本不支持Chunked編碼,會顯示無法確定內(nèi)容長度,或許是版本太低的緣故,假如你也碰到這種問題,可以改用NetVampire或其它支持Chunked編碼的下載程序試試。



發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永寿县| 新沂市| 龙胜| 邵阳县| 新郑市| 阜宁县| 芜湖县| 句容市| 河东区| 新和县| 固原市| 南江县| 瓦房店市| 瑞昌市| 保定市| 西乌珠穆沁旗| 桓台县| 岚皋县| 威宁| 南昌县| 灵台县| 罗山县| 温泉县| 四子王旗| 海阳市| 丰台区| 永福县| 兴国县| 德兴市| 渝北区| 绥棱县| 林芝县| 宿州市| 青田县| 类乌齐县| 南部县| 随州市| 广昌县| 阿荣旗| 夏河县| 青田县|