超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點(diǎn)晴永久免費(fèi)OA]Http - content-length了解

freeflydom
2023年11月27日 18:1 本文熱度 1388

報(bào)文中的HTTP_CONTENT_LENGTH通常是十進(jìn)制數(shù)字,單位是字節(jié)(b)

Content-Length

Content-Length是HTTP消息長度, 用十進(jìn)制數(shù)字表示的八位字節(jié)的數(shù)目, 是Headers中常見的一個(gè)字段. Content-Length應(yīng)該是精確的, 否則就會(huì)導(dǎo)致異常 (特別地, HTTP1.0中這個(gè)字段可有可無).

Content-Length首部指示出報(bào)文中實(shí)體主體的字節(jié)大小. 這個(gè)大小是包含了所有內(nèi)容編碼的, 比如, 對(duì)文本文件進(jìn)行了gzip壓縮的話, Content-Length首部指的就是壓縮后的大小而不是原始大小

Content-length 長度與實(shí)際長度不一致

Content-Length, HTTP消息長度, 用十進(jìn)制數(shù)字表示的八位字節(jié)的數(shù)目. 一般情況下, 很多工作都被框架完成, 我們很少去關(guān)注這部分內(nèi)容, 但少數(shù)情況下發(fā)生了Content-Length與實(shí)際消息長度不一致, 程序可能會(huì)發(fā)生比較奇怪的異常, 如:

  • 請(qǐng)求時(shí)長度不一致

    • 無響應(yīng)直到超時(shí).

  • 響應(yīng)時(shí)長度不一致

    • 請(qǐng)求被截?cái)? 而且下一個(gè)請(qǐng)求解析出現(xiàn)錯(cuò)亂

Content-Length 工作原理

Content-Length使用十進(jìn)制的數(shù)字表示了消息的長度, 服務(wù)端/客戶端通過它來得知后續(xù)要讀取消息的長度

Transfer-Encoding

當(dāng)請(qǐng)求處理完成前無法獲取消息長度, 我們就無法明確指定Content-Length, 此時(shí)應(yīng)該使用Transfer-Encoding: chunked

什么是Transfer-Encoding: chunked

數(shù)據(jù)以一系列分塊的形式進(jìn)行發(fā)送. Content-Length 首部在這種情況下不被發(fā)送. 在每一個(gè)分塊的開頭需要添加當(dāng)前分塊的長度, 以十六進(jìn)制的形式表示,后面緊跟著 \r\n , 之后是分塊本身, 后面也是\r\n. 終止塊是一個(gè)常規(guī)的分塊, 不同之處在于其長度為0

Transfer-Encodeing 工作原理

wireshark中可以很清晰地看到chunked的數(shù)據(jù), 其結(jié)構(gòu)大致是: 返回的消息被分為多個(gè)數(shù)據(jù)塊, 每個(gè)數(shù)據(jù)塊有兩部分, 長度 + 數(shù)據(jù), 這兩部分都以CRLF(即\r\n)結(jié)尾. 而終止塊是一個(gè)特殊的數(shù)據(jù)塊, 其長度為0

結(jié)論

  • Content-Length如果存在且生效, 必須是正確的, 否則會(huì)發(fā)生異常.(大于實(shí)際值會(huì)超時(shí), 小于實(shí)際值會(huì)截?cái)嗖⒖赡軐?dǎo)致后續(xù)的數(shù)據(jù)解析混亂)

  • 如果報(bào)文中包含Transfer-Encoding: chunked首部, 那么Content-Length將被忽略



該文章在 2023/11/27 18:01:33 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved