我開始學習套接字,我試圖弄清楚爲什麼你需要在請求中指定主機名。如果我已連接到「www.google.com」,那麼請求中的「主機:www.google.com \ r \ n」有什麼意義?服務器不知道自己的名字嗎?HTTP:你爲什麼需要指定主機名?
1
A
回答
4
有時服務器確實知道它的主機名,但它並不總是1:1的關係。許多DNS主機名都可以指向相同的IP,因此,1個IP可以有許多DNS主機名。 (另外,一個DNS主機名可以映射到很多IP地址,但這個問題在這個問題上不太重要。)
HTTP請求中的Host:
行允許Web服務器知道您請求哪個主機名,並基於那。這允許一臺IP地址的計算機爲多個域提供服務。
例如,如果網絡服務器看到Host: foo.com
,它可能服務於一個網站,但Host: bar.com
可能會導致返回完全不同的結果。 Web服務器沒有其他數據可以使用這些信息,並且它依賴於Web客戶端來通知它。
2
給定的服務器可以有許多不同的DNS名稱。例如,認爲共享託管網站。
相關問題
- 1. 爲什麼你要指定一個整數作爲C簽名?
- 2. 爲什麼你需要指定WCF服務的端點地址?
- 3. 爲什麼你需要指定Java堆大小?
- 4. 爲什麼需要更改EC2實例的主機名?
- 5. 什麼是http標題,什麼時候需要指定它們
- 6. 爲什麼VARCHAR需要長度指定?
- 7. 需要幫助確定主機名
- 8. 爲什麼硒網格需要主機名或IP地址的機器
- 9. 爲什麼你需要原型測試?
- 10. 爲什麼你需要編碼URL?
- 11. 爲什麼你需要計算渲染?
- 12. 爲什麼你需要一個Hyper-V?
- 13. 什麼是http主機頭?
- 14. 需要什麼使主機名解析在LAN上工作?
- 15. 爲什麼go需要你在變量名之前添加&?
- 16. 爲什麼你需要指定一個html表格寬度和列寬
- 17. 爲什麼我需要在創建卷時將主機名添加到docker
- 18. 爲什麼Flask-SQLAlchemy需要主鍵?
- 19. pkcs11-tool:爲什麼我需要指定要加載的模塊?
- 20. 爲什麼我需要主機應用程序中的寶石
- 21. 爲什麼IPAddress.Any需要連接到遠程主機?
- 22. Android爲什麼需要虛擬機(DVM)?
- 23. Python - 機械化:爲什麼需要CookieJar?
- 24. 爲什麼在android中定義paddingLeft時需要指定paddingRight?
- 25. 共享主機的http服務器需要什麼樣的證書?
- 26. 你爲什麼要用fmt.Sprint?
- 27. 爲什麼需要驗證用戶名?
- 28. 爲什麼Git需要簽名推送?
- 29. 爲什麼需要
- 30. 爲什麼我需要在創建新模型時指定名稱?
這實際上是關於HTTP協議,而不是winsock。 –