小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

http get請求中所涉及到的網(wǎng)絡(luò)協(xié)議

 duduwolf 2005-07-18

Java的產(chǎn)生與發(fā)展與網(wǎng)絡(luò)有著密切的關(guān)系。所以我們在學(xué)習(xí)java的同時,應(yīng)該對網(wǎng)絡(luò)體系結(jié)構(gòu)和網(wǎng)絡(luò)協(xié)議有一個大概的認(rèn)識和了解。這樣才能有助于我們做出更好的應(yīng)用程序。

 

在對以下內(nèi)容進(jìn)行學(xué)習(xí)之前,要求你對TCP/IP協(xié)議棧有一個簡單的了解。要知道網(wǎng)絡(luò)分層的結(jié)構(gòu);層與層之間完成相對獨立的功能;在上層產(chǎn)生的數(shù)據(jù)包,會傳遞給下層,并加上下層的數(shù)據(jù)包頭(header);上層從下層獲取數(shù)據(jù)的過程相反。圖1TCP/IP的體系結(jié)構(gòu)圖,注意圖中對TCP/IP協(xié)議棧的協(xié)議描述并不完全。之所以會稱之為TCP/IP協(xié)議,是因為他們是這個協(xié)議棧中最為重要的兩個協(xié)議。

以下根據(jù)馬薩諸塞州大學(xué)計算機(jī)科學(xué)系Don Towsley2004年秋季的網(wǎng)絡(luò)課程錄像中節(jié)選的一小段的內(nèi)容加以翻譯和整理。對我們用http(超文本傳輸協(xié)議)向一個web服務(wù)器發(fā)出一個GET請求時網(wǎng)絡(luò)所做的工作、以及都使用了哪些協(xié)議加以描述。如果大家對這個課程有興趣,可以在http://www-net.cs./cs653/下載,不過總的視頻文件大小有1.88G,網(wǎng)速慢的就不要下載了:)。

 

1.       用戶在web瀏覽器(如IE)地址欄輸入URL(統(tǒng)一資源定位符),比如http://www-net.cs./cs653/。前面的http是協(xié)議類型,后面的www-net.cs.指被訪問的服務(wù)器的域名,沒有加冒號和端口號表示訪問的是默認(rèn)的端口號80。

2.       由于所發(fā)出的數(shù)據(jù)要通過被訪問主機(jī)的IP地址進(jìn)行傳輸和路由,所以要先通過DNS域名服務(wù)器服務(wù)器將域名解析為IP地址(假設(shè)DNS和我們的主機(jī)在一個網(wǎng)段):

a)         主機(jī)產(chǎn)生一個DNS請求;

                         i.              傳遞給傳輸層,通過UDPUser Datagram Protocol, 用戶數(shù)據(jù)報協(xié)議)產(chǎn)生一個UDP 報文(Segment);

                       ii.              傳遞給網(wǎng)絡(luò)層產(chǎn)生一個IP報文(Packet),目的地址是DNS服務(wù)器的IP地址(這個地址可能是手工設(shè)置的,也可能是通過DHCP動態(tài)主機(jī)配置協(xié)議)協(xié)議自動獲得的);

                      iii.              在數(shù)據(jù)鏈路層通過ARPAddress Resolution Protocol,地址解析協(xié)議)協(xié)議得到DNS服務(wù)器的MAC媒體訪問控制子層)地址

                     iv.              把數(shù)據(jù)幀(frame)通過以太網(wǎng)傳輸給DNS服務(wù)器

                       v.              DNS服務(wù)器將收到的幀向上傳給傳輸層,得到UDP報文。通過UDP報文中指定的端口號傳給DNS應(yīng)用程序。為了表述簡單,我們假設(shè)要解析的域名在當(dāng)前的DNS服務(wù)器中有相應(yīng)的表項(如果不在當(dāng)?shù)兀镜?/I>DNS服務(wù)器還要向上級的DNS服務(wù)器發(fā)出DNS查詢請求,如此遞歸直到查到要解析的域名的IP地址)。

b)        DNS把通過DNS應(yīng)答將得到的IP地址返回給請求的主機(jī)。(終于知道對方的IP地址了,呵呵

3.       現(xiàn)在,瀏覽器得到對方的IP地址了?,F(xiàn)在可以發(fā)出GET請求嗎?!

a)         首先要和對方服務(wù)器建立一個TCP傳輸控制協(xié)議,TCPUDP同屬傳輸層,但是TCP協(xié)議時個可靠的面向連接的協(xié)議,要比UDP復(fù)雜的多。TCP更適合要求可靠傳輸?shù)膽?yīng)用)連接。建立連接通過三次握手方法。

b)        這里和以下發(fā)送的TCP報文同樣要傳給下一層:網(wǎng)絡(luò)層。在Internet中也就是我們說的IP層。同樣的,IP層給TCP報文加上IP報頭,發(fā)送給路由器(假設(shè)我們的主機(jī)和web服務(wù)器不在同一個網(wǎng)內(nèi)),路由器根據(jù)報文中的目的IP地址決定下一跳(Next Hop)的IP地址和端口。這個決定需要查詢(lookup)它自身的路由表(而路由表的維護(hù)需要路由協(xié)議,比如OSPF(開放最短路徑優(yōu)先)等)。IP報文可能通過多個路由器的轉(zhuǎn)發(fā),終于到達(dá)了對方的服務(wù)器。再剝掉IP報頭遞交給上層。

c)        建立好了TCP連接,以后發(fā)送的數(shù)據(jù)都可以這條可靠的連接傳輸了。

4.       WEB服務(wù)器之間的TCP連接建立成功。就可以發(fā)送GET請求啦。

5.       WEB服務(wù)器收到請求,就可以將響應(yīng)信息通過剛才建立好的TCP連接送回給請求方。

6.       如果是一個html文件,瀏覽器就可以解釋并將它顯示在我們的顯示器上面了。

 

 

注意到這個過程里面的三個重要的地址:域名、IP地址和MAC地址。它們是網(wǎng)絡(luò)中不同的層,不同的協(xié)議所需要的地址。它們之間的關(guān)系有點像電話系統(tǒng)中的概念,域名對應(yīng)人名(不過域名不能重復(fù)),IP地址對應(yīng)電話號碼,MAC地址對應(yīng)程控交換機(jī)中這路電話所在的物理位置號。我們打電話首先通過人名找電話,這時電話本就像DNS一樣;然后我們拿起電話撥號,程控交換機(jī)根據(jù)你撥的號碼找到其電路所在位置(概念上);在兩部電話之間建立一個連接;然后就可以通話了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多