天天看點

Java網絡程式設計從入門到精通(3):為什麼不能直接通過IP通路網站

本文為原創,如需轉載,請注明作者和出處,謝謝!

這個錯誤并不是網頁未找到錯誤(HTTP狀态号:404),而是拒絕通路錯誤(HTTP狀态号:403)。當在位址欄中再輸入http://www.csdn.net,仍然可以通路這個網站。從以上種種迹象表明這并不用戶端的問題,而是服務端對此做了限制。

在HTTP協定(這個協定會在下一章詳細講解)的請求頭有一個Host字段,一般通過http://www.csdn.net通路伺服器時,Host的值就是www.csdn.net。如果是http://

211.100.26.124,那麼Host的值就是211.100.26.124。是以,我們可以推斷,www.csdn.net的伺服器通過檢測Host字段防止用戶端直接使用IP進行通路。目前有很多網站,如www.sina.com.cn、www.126.com都是這樣做的。有一些網站雖然未限制用IP位址來通路,但在使用IP位址通路網站時,卻将IP位址又重定位到相應的域名上。如輸入http://141.146.8.66會重定位到http://www.oracle.com/index.html上,輸入http://129.42.60.212會重定位到http://www.ibm.com/us/上。

通過ping指令也可以得到一個域名的IP位址,如果域名綁定有之個IP位址,DNS就随機傳回一個IP位址。如在控制台輸入下面的指令:

ping www.csdn.net

    傳回結果

Reply from 211.100.26.122: bytes=32 time=31ms TTL=48

Reply from 211.100.26.122: bytes=32 time=35ms TTL=48

Java網絡程式設計從入門到精通(3):為什麼不能直接通過IP通路網站
Java網絡程式設計從入門到精通(3):為什麼不能直接通過IP通路網站

<a href="http://www.eoeandroid.com/forumdisplay.php?fid=4">國内最棒的Google Android技術社群(eoeandroid),歡迎通路!</a>

繼續閱讀