Header
作用:HTTP消息的元數(shù)據(jù)(metadata)(對數(shù)據(jù)進(jìn)行修飾)
例:故事中的故事,游戲中的小游戲,就是元數(shù)據(jù)
Host:服務(wù)器主機地址
Host:api.github.com(域名,是為了方便好記掀序;實際會將域名通過DNS查詢到IP觅捆,再進(jìn)行訪問)
Host的作用是為了在目標(biāo)主機尋址用的傻盟,因為一個主機上可能會有多個子主機艰管,進(jìn)而確定指定的子主機度秘。
Content-Type/Content-Length:Body的類型和長度
Content-Length:內(nèi)容的長度
例:
Content-Length: 7
name=zs
因為Body不一定全是字符串趋急,也有可能是二進(jìn)制數(shù)據(jù)喝峦。所以無法根據(jù)內(nèi)容來知道是否傳輸結(jié)束。
Content-Type:內(nèi)容的類型
text/html:html文本宣谈,用于瀏覽器頁面響應(yīng)
例:
<!DOCTYPE html>
<html>
<head>
......
application/x-www-form-urlencoded: 普通表單愈犹,encoded URL格式 (純文字表單)
例:
Content-Length: 7
Content-Type: application/x-www-form-urlencoded
name=zs
multipart/form-data: 多部分形式,一般用于傳輸包含二進(jìn)制內(nèi)容的多項內(nèi)容
例:
Content-Type: multipart/form-data;boundary=----Web.......
Content-Length: 3000
(第一部分-字符串)
------Web.......
Content-Disposition: form-data;name="name"
zx
(第二部分-文件)
------Web.......
Content-Disposition:form-data;name="avatar";filename="avatar.jpg"
Content-Type:image/jpeg
QWEIRERJAKS
------Web.......--
因為在文件中不能用普通的字符分割漩怎,所以需要用自定義boundary來分割勋颖,而普通表單則因為太占空間所以不用
application/json: json形式,用于Web Api的響應(yīng)或POST/PUT請求
例:
Content-Type: application/json勋锤;charset=utf-8
Content-Length: 13
{"name":"zs"}
image/jpeg / application/zip...: 單文件饭玲,用于Web Api的響應(yīng)或POST/PUT請求
例:
Content-Type: image/jpeg
Content-Length: 1400
JEBJABSEH...
Location: 重定向的目標(biāo)URL
User-Agent: 用戶代理(移動端通常用不上)
Accept-Ranges: 制定Body的內(nèi)容范圍
例:
Range: bytes=0-3000(0到總長度的一半)
Accept: 客戶端能接受的數(shù)據(jù)類型。如text/html
Accept-Charset: 客戶端接收的字符集叁执。如utf-8
Cache: 緩存
問:
Cache和Buffer的區(qū)別
Cache是緩存
Buffer是緩沖