隨筆 - 312, 文章 - 14, 評(píng)論 - 1393, 引用 - 0
          數(shù)據(jù)加載中……

          Java網(wǎng)絡(luò)編程從入門到精通(3):為什么不能直接通過IP訪問網(wǎng)站

          本文為原創(chuàng),如需轉(zhuǎn)載,請(qǐng)注明作者和出處,謝謝!

          上一篇:Java網(wǎng)絡(luò)編程從入門到精通(2):創(chuàng)建InetAddress對(duì)象的四個(gè)靜態(tài)方法

              在《創(chuàng)建InetAddress對(duì)象的四個(gè)靜態(tài)方法》一文中通過getAllByName得到了www.csdn.net對(duì)應(yīng)的四個(gè)IP地址。從理論上說,在IE(或其他的Web瀏覽器,如Firefox)的地址欄中輸入這四個(gè)IP地址中的任何一個(gè),都可能訪www.csdn.net。如輸入http://211.100.26.124。但IE卻返回了一個(gè)錯(cuò)誤信息。在輸入另外三個(gè)IP后,都會(huì)得到同樣的錯(cuò)誤信息。

          這個(gè)錯(cuò)誤并不是網(wǎng)頁(yè)未找到錯(cuò)誤(HTTP狀態(tài)號(hào):404),而是拒絕訪問錯(cuò)誤(HTTP狀態(tài)號(hào):403)。當(dāng)在地址欄中再輸入http://www.csdn.net,仍然可以訪問這個(gè)網(wǎng)站。從以上種種跡象表明這并不客戶端的問題,而是服務(wù)端對(duì)此做了限制。

          HTTP協(xié)議(這個(gè)協(xié)議會(huì)在下一章詳細(xì)講解)的請(qǐng)求頭有一個(gè)Host字段,一般通過http://www.csdn.net訪問服務(wù)器時(shí),Host的值就是www.csdn.net。如果是http:// 211.100.26.124,那么Host的值就是211.100.26.124。因此,我們可以推斷,www.csdn.net的服務(wù)器通過檢測(cè)Host字段防止客戶端直接使用IP進(jìn)行訪問。目前有很多網(wǎng)站,如www.sina.com.cnwww.126.com都是這樣做的。有一些網(wǎng)站雖然未限制用IP地址來訪問,但在使用IP地址訪問網(wǎng)站時(shí),卻將IP地址又重定位到相應(yīng)的域名上。如輸入http://141.146.8.66會(huì)重定位到http://www.oracle.com/index.html上,輸入http://129.42.60.212會(huì)重定位到http://www.ibm.com/us/上。

          通過ping命令也可以得到一個(gè)域名的IP地址,如果域名綁定有之個(gè)IP地址,DNS就隨機(jī)返回一個(gè)IP地址。如在控制臺(tái)輸入下面的命令:

          ping www.csdn.net

              返回結(jié)果

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

              上面的返回結(jié)果中的IP地址就是《創(chuàng)建InetAddress對(duì)象的四個(gè)靜態(tài)方法》一文中MyInetAddress3在測(cè)試1中所得到的第三個(gè)IP地址。

          下一篇:
          Java網(wǎng)絡(luò)技術(shù)系列教程(4):DNS緩存





          Android開發(fā)完全講義(第2版)(本書版權(quán)已輸出到臺(tái)灣)

          http://product.dangdang.com/product.aspx?product_id=22741502



          Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


          新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

          posted on 2009-03-31 10:44 銀河使者 閱讀(4393) 評(píng)論(6)  編輯  收藏 所屬分類: java 原創(chuàng)網(wǎng)絡(luò)編程

          評(píng)論

          # re: Java網(wǎng)絡(luò)編程從入門到精通(3):為什么不能直接通過IP訪問網(wǎng)站  回復(fù)  更多評(píng)論   

          還要注意到有些網(wǎng)站使用了反向加速代理。
          2009-03-31 13:28 | 隔葉黃鶯

          # re: Java網(wǎng)絡(luò)編程從入門到精通(3):為什么不能直接通過IP訪問網(wǎng)站  回復(fù)  更多評(píng)論   

          @隔葉黃鶯
          這只是原因之一,其他原因還很多
          2009-03-31 16:12 | 銀河使者

          # re: Java網(wǎng)絡(luò)編程從入門到精通(3):為什么不能直接通過IP訪問網(wǎng)站  回復(fù)  更多評(píng)論   

          呵呵,他們可能使用了交換機(jī),你鎖訪問的IP可能是交換機(jī)的IP地址吧,真實(shí)的Web地址在交換機(jī)后,由交換機(jī)轉(zhuǎn)向Web服務(wù),然后在返回給瀏覽器。(我了解電信一個(gè)實(shí)現(xiàn)方案是這樣的)
          2009-04-01 11:58 | 天空蒼茫

          # re: Java網(wǎng)絡(luò)編程從入門到精通(3):為什么不能直接通過IP訪問網(wǎng)站  回復(fù)  更多評(píng)論   

          @天空蒼茫
          通過網(wǎng)址訪問也是由DNS將網(wǎng)址轉(zhuǎn)換成ip的,就算是交換機(jī)的ip,也是可以訪問的。除非在服務(wù)端程序做了驗(yàn)證
          2009-04-01 16:09 | 銀河使者

          # re: Java網(wǎng)絡(luò)編程從入門到精通(3):為什么不能直接通過IP訪問網(wǎng)站  回復(fù)  更多評(píng)論   

          博主,我有一個(gè)疑問,好像你這文章只提出不能直接通過IP訪問網(wǎng)站,沒有說明為什么為可以,出于安全考慮還是?
          2009-09-21 19:58 | 學(xué)生

          # re: Java網(wǎng)絡(luò)編程從入門到精通(3):為什么不能直接通過IP訪問網(wǎng)站  回復(fù)  更多評(píng)論   

          @學(xué)生
          為什么不可以
          2009-09-21 19:59 | 學(xué)生
          主站蜘蛛池模板: 晴隆县| 安吉县| 布尔津县| 霍州市| 农安县| 金塔县| 六枝特区| 宁阳县| 永仁县| 黄骅市| 永丰县| 公安县| 宜宾县| 德江县| 榆林市| 阳曲县| 泊头市| 温泉县| 鄂尔多斯市| 久治县| 长武县| 芦山县| 福建省| 寻甸| 元谋县| 南康市| 达日县| 中牟县| 化隆| 揭西县| 台东市| 城口县| 辽中县| 湘阴县| 闸北区| 谷城县| 电白县| 延边| 卫辉市| 普格县| 墨脱县|