Host 是 HTTP 1.1 協(xié)議中新增的一個請求頭,主要用來實現(xiàn)虛擬主機(jī)技術(shù)。
虛擬主機(jī)(virtual hosting)即共享主機(jī)(shared web hosting),可以利用虛擬技術(shù)把一臺完整的服務(wù)器分成若干個主機(jī),因此可以在單一主機(jī)上運行多個網(wǎng)站或服務(wù)。
舉個栗子,有一臺 ip 地址為 61.135.169.125 的服務(wù)器,在這臺服務(wù)器上部署著谷歌、百度、火狐的網(wǎng)站。為什么我們訪問 https://www.google.com 時,看到的是 Google 的首頁而不是百度或者淘寶的首頁?原因就是 Host 請求頭決定著訪問哪個虛擬主機(jī)。
在一個的服務(wù)器中,可能擁有多個 Host 的應(yīng)用服務(wù),此時僅僅通過 IP 無法訪問到對應(yīng)的服務(wù),可通過 Host
來進(jìn)行定位。
Host
是唯一客戶端必須攜帶的請求頭,如果缺失了該請求頭則會返回 400 狀態(tài)碼。在 HTTP/2 以及 HTTP/3 中,以一個偽頭 :authority
代替。
如果通過?curl
?模擬 Host,可通過請求 IP 地址,并明確指定 Host 頭部。
# 請求成功
$ curl http.devtool.tech #ping也可以直接得到其ip
# 獲取到其 IP 地址
$ dig +short http.devtool.tech
76.223.126.88
# 直接請求 IP,導(dǎo)致找不到該應(yīng)用
$ curl 76.223.126.88
# 請求成功
$ curl 76.223.126.88 -H "Host: http.devtool.tech"
centos安裝dig文章來源:http://www.zghlxwxcb.cn/news/detail-538124.html
yum install bind-utils
那為什么不用IP+端口呢?
因為IP+端口區(qū)分的是進(jìn)程(服務(wù)), 而 Host區(qū)分的是目錄(網(wǎng)站)
我們用80端口訪問1.1.1.1的apache服務(wù),而1.1.1.1內(nèi)部有很多目錄(網(wǎng)站)?文章來源地址http://www.zghlxwxcb.cn/news/detail-538124.html
到了這里,關(guān)于http請求頭中的host是什么意思的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!