http頭中的host欄位詳解

2021-06-18 07:40:03 字數 644 閱讀 5586

host:客戶端指定自己想訪問的http伺服器的網域名稱/ip 位址和埠號。

今天同事問了乙個問題引發了我對http頭中host欄位的詳細思考,總結了以下5條。

1.host欄位可以是網域名稱,也可以是ip位址。host欄位網域名稱/ip後可以跟埠號,如host: www.6san.com:8080

2.host可以由程式自定義,某些程式為了防止運營商或防火牆攔截會定義虛假host

3.http1.1中host欄位可以是空值,http1.0中可以缺失host欄位

4.http響應頭中不包含host欄位,所以wireshark中http.host過濾到的都是請求包

5.因為http頭中的host欄位可以由程式自定義,所以host欄位的值就會有很多特殊情況,如包含多個』/'字元的host頭資訊,結尾含有」.」等

http頭中可以沒有host欄位嗎?

在http 1.1中不能缺失host欄位,如果缺失, 伺服器返回400 bad request,http1.1中不能缺失host欄位,但host欄位可以是空值

在http 1.0中可以缺失host欄位。

rfc 2616中關於host欄位的說明如下:

6san.com

HTTP中的Host欄位

說白了,http還是tcp協議,所以發起http請求也就是建立tcp連線並傳送的過程,也就是說connect send。tcp在connect的時候必須要知道對方我ip位址和監聽埠。比如我們要發起對www.baidu.com的請求,那第一步就是得到www.baidu.com對應的ip位址,然後con...

HTTP中的Host欄位

說白了,http還是tcp協議,所以發起http請求也就是建立tcp連線並傳送的過程,也就是說connect send。tcp在connect的時候必須要知道對方我ip位址和監聽埠。比如我們要發起對www.baidu.com的請求,那第一步就是得到www.baidu.com對應的ip位址,然後con...

http響應頭中快取相關字段

瀏覽網頁開啟f12開啟偵錯程式,可以檢視請求的詳細情況 有些欄位是沒有的 強快取定義 在快取未失效時候,瀏覽器向服務端發起請求,直接從快取中獲取資料,expires 是http1.0的東西。cache control 是http1.1的東西。cache control max age 取代了expi...