HyperText Transfer Protocol, HTTP - 超文本傳輸協(xié)議
最初的設(shè)計(jì)目的是,提供一種發(fā)布和接收 HTML 頁(yè)面的方法。
通過(guò) HTTP 或者 HTTPS 協(xié)議請(qǐng)求的資源,由統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Identifiers, URI) 來(lái)標(biāo)示。
HTTP 報(bào)文,有兩種:
- 請(qǐng)求報(bào)文 (Request Message), 客戶端向服務(wù)器端發(fā)起的請(qǐng)求
- 響應(yīng)報(bào)文(Response Message), 服務(wù)端回應(yīng)給客戶端的請(qǐng)求
請(qǐng)求報(bào)文(Request Message)
| 報(bào)文 | 信息 |
|---|---|
| 請(qǐng)求行 | 告訴服務(wù)器我使用 HTTP1.1 協(xié)議獲取(GET)/index.html 這個(gè)資源 |
| 請(qǐng)求頭 | 請(qǐng)求頭由 Key/Value 組成,請(qǐng)求頭部分的作用是客戶端把請(qǐng)求的相關(guān)信息告訴服務(wù)器 |
| 空行 | 告訴服務(wù)器下面沒(méi)有請(qǐng)求頭的信息了 |
| 請(qǐng)求報(bào)文主體段 | 主體部分包含了要發(fā)給服務(wù)器的數(shù)據(jù) |
Request Message's Example:
# 請(qǐng)求行
GET https://www.ansheng.me/ HTTP/1.1
# 請(qǐng)求頭
Host: www.ansheng.me
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2868.3 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: zh-CN,zh;q=0.8
Cookie: _gat=1; _ga=GA1.2.1463852464.147680102
響應(yīng)報(bào)文(Response Message)
| 報(bào)文 | 信息 |
|---|---|
| 起始行 | 協(xié)議及版本號(hào),數(shù)字狀態(tài)碼,狀態(tài)信息 |
| 空行 | 告訴服務(wù)器下面沒(méi)有響應(yīng)頭的信息了 |
| 請(qǐng)求報(bào)文主體段 | 一段字符串,如:HTML |