HTTP請求由請求行、請求頭和請求體三部分組成。
請求行
請求行包括三個部分:請求方法、URL和HTTP協(xié)議版本。
格式如下:
<請求方法> <URL> <HTTP協(xié)議版本>
例如:
GET /index.html HTTP/1.1
其中:
請求方法:指定客戶端希望服務器執(zhí)行的操作,常見的有GET、POST、PUT、DELETE等。
網址:指定請求的資源
HTTP協(xié)議版本:指定客戶端使用的HTTP協(xié)議版本,常見的有HTTP/1.0和HTTP/1.1。
請求頭
請求頭包含多個鍵值對,每個鍵值對占一行,格式為“鍵: 值”。鍵和值之間使用一個冒號和一個空格分隔。請求頭的作用是告訴服務器關于客戶端的一些信息,例如客戶端使用的瀏覽器類型、所能接受的文檔類型、語言等。
常見的請求頭包括:
User-Agent:客戶端使用的瀏覽器類型。
Accept:客戶端能夠接受的文檔類型。
Accept-Language:客戶端能夠接受的語言類型。
Host:請求的服務器地址。
Connection:客戶端和服務器之間的連接狀態(tài),常見的有keep-alive和close。
Content-Type:請求體中所發(fā)送的實體的MIME類型。
例如:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
其中:
Host:請求的服務器地址是 www.example.com。
User-Agent:客戶端使用的是Chrome瀏覽器。
接受:客戶端能夠接受的文檔類型包括文本
連接:客戶端和服務器之間的連接狀態(tài)為keep-alive。