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

          Java網(wǎng)絡(luò)編程從入門到精通(3):為什么不能直接通過(guò)IP訪問(wèn)網(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)方法》一文中通過(guò)getAllByName得到了www.csdn.net對(duì)應(yīng)的四個(gè)IP地址。從理論上說(shuō),在IE(或其他的Web瀏覽器,如Firefox)的地址欄中輸入這四個(gè)IP地址中的任何一個(gè),都可能訪問(wèn)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),而是拒絕訪問(wèn)錯(cuò)誤(HTTP狀態(tài)號(hào):403)。當(dāng)在地址欄中再輸入http://www.csdn.net,仍然可以訪問(wèn)這個(gè)網(wǎng)站。從以上種種跡象表明這并不客戶端的問(wèn)題,而是服務(wù)端對(duì)此做了限制。

          HTTP協(xié)議(這個(gè)協(xié)議會(huì)在下一章詳細(xì)講解)的請(qǐng)求頭有一個(gè)Host字段,一般通過(guò)http://www.csdn.net訪問(wèn)服務(wù)器時(shí),Host的值就是www.csdn.net。如果是http:// 211.100.26.124,那么Host的值就是211.100.26.124。因此,我們可以推斷,www.csdn.net的服務(wù)器通過(guò)檢測(cè)Host字段防止客戶端直接使用IP進(jìn)行訪問(wèn)。目前有很多網(wǎng)站,如www.sina.com.cnwww.126.com都是這樣做的。有一些網(wǎng)站雖然未限制用IP地址來(lái)訪問(wèn),但在使用IP地址訪問(wèn)網(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/上。

          通過(guò)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開(kāi)發(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 銀河使者 閱讀(4386) 評(píng)論(6)  編輯  收藏 所屬分類: java 原創(chuàng)網(wǎng)絡(luò)編程

          評(píng)論

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

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

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

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

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

          呵呵,他們可能使用了交換機(jī),你鎖訪問(wèn)的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):為什么不能直接通過(guò)IP訪問(wèn)網(wǎng)站  回復(fù)  更多評(píng)論   

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

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

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

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

          @學(xué)生
          為什么不可以
          2009-09-21 19:59 | 學(xué)生
          主站蜘蛛池模板: 永丰县| 富锦市| 安庆市| 集安市| 秦安县| 榆社县| 和顺县| 噶尔县| 文化| 广宗县| 太原市| 长海县| 兴和县| 东港市| 长武县| 凯里市| 西充县| 漳州市| 清水河县| 久治县| 阳朔县| 浦东新区| 江安县| 青浦区| 拉孜县| 宁城县| 禹州市| 西乡县| 湟中县| 容城县| 凤城市| 东宁县| 浦城县| 湘潭市| 临沭县| 漠河县| 玉龙| 湘西| 绵阳市| 梁山县| 海城市|