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

分享

圖解從URL到網頁通信原理

 楽钅方 2018-05-22

內容導讀

簡單說,這個通信的過程是基于TCP/IP通信協(xié)議族規(guī)范的,完成從客戶端到服務器端等一系列運作流程。1、TCP/IP協(xié)議族計算機與網絡設備要相互通信,雙方就必須基于相同的方法。這里就說到TCP/IP重要的層次化劃分,按層次可以分為4層:應用層、傳輸層、網絡層和數(shù)據鏈路層。如HTTP,F(xiàn)TP,DNS等協(xié)議;(2) 傳輸層:對應用層提供網絡連接時的兩臺計算機的數(shù)據傳輸。傳輸層有兩個性質不同的協(xié)議: TCP(Transmission Control Protocol,傳輸控制協(xié)議)和 UDP(User Data Protocol,用戶數(shù)據報協(xié)議);(3) 網絡層: 用來處理網絡中流動的數(shù)據包,該層規(guī)定了通過怎樣的傳輸路徑將數(shù)據包傳遞到對方計算機。而計算機相對更容易處理一組數(shù)字,這時DNS域名解析服務應運而生。

前言

我們使用瀏覽器發(fā)送請求后頁面是如何呈現(xiàn)在我們面前的呢?
在實際的學習web開發(fā)的過程中,網站開發(fā),網絡爬蟲的程序設計都是需要這方面專業(yè)知識。接下來我們圖解下這個URL到呈現(xiàn)頁面的過程。

一、從URL請求響應過程概括

URL請求過程.jpg

我們在瀏覽器中輸入一個 URL,回車之后便會在瀏覽器中觀察到頁面內容。實際上這個過程是瀏覽器向網站所在的服務器發(fā)送了一個 Request(請求),網站服務器接收到這個 Request 之后進行處理和解析,然后返回對應的一個Response(響應)給瀏覽器,Response里面就包含了頁面的源代碼等內容,瀏覽器再對其進行解析便將網頁呈現(xiàn)了出來。
這個過程是如何規(guī)范并實現(xiàn)的呢?簡單說,這個通信的過程是基于TCP/IP通信協(xié)議族規(guī)范的,完成從客戶端到服務器端等一系列運作流程。

二、TCP/IP 通信協(xié)議大家族的整體介紹

前面說過網絡的通信是基于TCP/IP協(xié)議族規(guī)范的。那TCP/IP協(xié)議族是什么呢?如何規(guī)范網絡通信的過程呢?
1、TCP/IP協(xié)議族
計算機與網絡設備要相互通信,雙方就必須基于相同的方法。比如,如何探測到通信目標、由哪一邊先發(fā)起通信、使用哪種語言進行通信、怎樣結束通信等規(guī)則都需要事先確定。不同的硬件、操作系統(tǒng)之間的通信,所有的這一切都需要一種規(guī)則,而我們就把這種規(guī)則稱為協(xié)議(protocol)。通常我們說的TCP/IP協(xié)議族是互聯(lián)網相關的各類協(xié)議族的總稱。

TCP/IP族.png

TCP/IP協(xié)議族由那么多的協(xié)議組成,那功能上如何劃分的呢?這里就說到TCP/IP重要的層次化劃分,按層次可以分為4層:應用層、傳輸層、網絡層和數(shù)據鏈路層。層次化的好處在于每個層次內部的設計可以自由改動,并通過各層的接口關聯(lián)起來,而如果只有一個協(xié)議統(tǒng)籌就需要對所有涉及到的部分都重新設計。

2、TCP/IP各層的作用
(1) 應用層:決定了向用戶提供應用服務時候的通信活動。如HTTP,F(xiàn)TP,DNS等協(xié)議;
(2) 傳輸層:對應用層提供網絡連接時的兩臺計算機的數(shù)據傳輸。傳輸層有兩個性質不同的協(xié)議: TCP(Transmission Control Protocol,傳輸控制協(xié)議)和 UDP(User Data Protocol,用戶數(shù)據報協(xié)議);
(3) 網絡層: 用來處理網絡中流動的數(shù)據包,該層規(guī)定了通過怎樣的傳輸路徑將數(shù)據包傳遞到對方計算機。如IP協(xié)議;
(4) 數(shù)據鏈路層:用來處理網絡連接中的硬件部分。 如FDDI協(xié)議;

三、TCP/IP是如何規(guī)范通信過程

通信過程.png

第一步、發(fā)送URL請求

URL格式介紹.png

Url由以下元素組成:
(1) 傳送協(xié)議:http:或者https:等
(2) 層級URL標記符號,為“//”固定不變
(3) 訪問資源需要的憑證信息(可省略)
(4) 服務器地址。通常為域名,有時為IP地址(實際通信中需要通過IP地址訪問,域名通過DNS服務器解析出IP地址)
(5) 端口號。以數(shù)字方式表示,若為HTTP的默認值“:80”可省略
(6) 路徑。以“/”字符區(qū)別路徑中的每一個目錄名稱
(7) 查詢。GET模式的窗體參數(shù),以“?”字符為起點,每個參數(shù)以“&”隔開,再以“=”分開參數(shù)名稱與數(shù)據,通常以UTF8的URL編碼,避開字符沖突的問題
(8) 片段。以“#”字符為起點,使用片段標識符通??蓸擞洺鲆勋@取資源中的子資源

第二步、DNS對請求的URL域名解析

DNS(Domain Name System)服務是和 HTTP 協(xié)議一樣位于應用層的協(xié)議,它提供域名到 IP 地址之間的解析服務。計算機既可以被賦予 IP 地址,也可以被賦予主機名和域名,用戶通常使用主機名或域名來訪問對方的計算機,而不是直接通過 IP 地址訪問。而計算機相對更容易處理一組數(shù)字,這時DNS域名解析服務應運而生。DNS 協(xié)議提供通過域名查找 IP 地址,或逆向從 IP 地址反查域名的服務。

DNS協(xié)議.png

第三步、生成HTTP請求報文

HTTP協(xié)議:按層次分, HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)位于應用層,決定從客戶端到服務器端等一系列通信內容及方式。

HTTP協(xié)議.png

第四步、TCP連接建立數(shù)據通信

TCP協(xié)議:按層次分, TCP(Transmission Control Protocol,傳輸控制協(xié)議) 位于傳輸層。TCP 協(xié)議為了更容易傳送大數(shù)據會對數(shù)據分割,并能夠確認數(shù)據最終是否送達到對方。

TCP協(xié)議.png

第五步、數(shù)據傳輸?shù)絀P地址

按層次分, IP(Internet Protocol)網際協(xié)議位于網絡層。 IP協(xié)議的作用在于實現(xiàn)數(shù)據包傳遞到對方計算機IP地址,而IP間的通信依賴于MAC 地址(網卡所屬的固定地址),需要再通過ARP 協(xié)議根據通信方的 IP 地址反查出對應的MAC 地址。

IP協(xié)議.png

第六步、服務器接收并解析請求報文后回傳響應報文

服務器接收及解析請求報文后回傳響應報文.png


本公眾號團隊成員由餓了么、阿里、螞蟻金服等同事組成,關注架構師之巔,可以了解最前沿的技術。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多