Http

為什麼使用telnet下載網頁時又需要主機名?

  • October 8, 2018

我了解到您可以使用 telnet 下載網頁(發出 http 請求),例如

telnet www.example.com 80
GET HTTP / HTTP/1.1
HOST: www.example.com

那麼輸出將是一個html源頁面或其他東西。

我的問題是我們在初始化 telnet 請求時是否指定了 www.example.com

telnet www.example.com 80

為什麼我們還需要在

HOST: www.example.com

?

多謝你們!

telnet對 HTTP 不了解,所以telnet example.com 80只打開一個到example.comon port的連接80。隨後的 HTTP 請求完全取決於您,其中包括標頭。

如果沒有Host標頭,您的請求將轉到伺服器處理上的預設虛擬主機example.com(就像您在瀏覽器中輸入伺服器的 IP 地址一樣),這可能不是example.com.

引用自:https://serverfault.com/questions/934421