Http 协议 常用消息头
1.壓縮
HTTP采用通用的壓縮算法,比如gzip來壓縮HTML,Javascript, CSS文件,能大大減少網(wǎng)絡(luò)吞吐。
請(qǐng)求:通常會(huì)有Accept-Encoding:gzip。
響應(yīng):server端生成原始的body,然后壓縮,增加頭部Content-Encoding:gzip。見圖1-1.
圖1-1 cctv.com,gzio壓縮與chunked傳輸?
可通過fiddler看一下壓縮前后的大小對(duì)比。
圖1-2cctv.com,fiddler看原始responde 頭部
圖1-3cctv.com,fiddler支持對(duì)response解壓,前后大小對(duì)比已標(biāo)出
2.分塊傳輸
Transfer-Encoding: chunked 表示分塊傳輸。不用此頭部,通常用Content-Length來標(biāo)記報(bào)文的大小。
不用分塊傳輸:服務(wù)端生成完整的響應(yīng),算出來大小,標(biāo)記出來。
使用分塊傳輸:服務(wù)端一邊生成響應(yīng),一邊輸出,不需要緩存完整的結(jié)果,節(jié)省內(nèi)存。
netty框架支持分塊傳輸,所需語句:ch.pipeline().addLast("chunkedWriter", new ChunkedWriteHandler());
總結(jié)
以上是生活随笔為你收集整理的Http 协议 常用消息头的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Velocity引擎导致jvm内存外内存
- 下一篇: iOS 8以上的设置的跳转