TCP/IP、HTTP協議交流之一
阿新 • • 發佈:2018-12-21
一、TCP/IP協議:
TPC/IP協議是
傳輸層協議,主要解決資料如何在網路中傳輸。
TCP/IP代表傳輸控制協議/網際協議(因特網互聯協議),指的是一系列協議。“IP”代表網際協議,TCP和UDP使用該協議從一個網路傳送資料包到另一個網路。把IP想像成一種高速公路,它允許其它協議在上面行駛並找到到其它電腦的出口。TCP和UDP是高速公路上的“卡車”,它們攜帶的貨物就是像HTTP,檔案傳輸協議FTP這樣的協議等。
你應該能理解,TCP和UDP是FTP,HTTP和SMTP之類使用的傳輸層協議。雖然TCP和UDP都是用來傳輸其他協議的,它們卻有一個顯著的不同:TCP提供有保證的資料傳輸,而UDP不提供。這意味著TCP有一個特殊的機制來確保資料安全的不出錯的從一個端點傳到另一個端點,而UDP不提供任何這樣的保證。
二、HTTP協議:
HTTP是
應用層協議,主要解決如何包裝資料。
HTTP(超文字傳輸協議)是利用TCP在兩臺電腦(通常是Web伺服器和客戶端)之間傳輸資訊的協議。客戶端使用Web瀏覽器發起HTTP請求給Web伺服器,Web伺服器傳送被請求的資訊給客戶端。
來個解釋圖更好理解:
HTTP協議 處理流程圖:
關於TCP/IP和HTTP協議的關係,網路有一段比較容易理解的介紹:“我們在傳輸資料時,可以只使用(傳輸層)TCP/IP協議,但是那樣的話,如果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料有意義,則必須使用到應用層協議,應用層協議有很多,比如HTTP、FTP、TELNET等,也可以自己定義應用層協議。WEB使用HTTP協議作應用層協議,以封裝HTTP 文字資訊,然後使用TCP/IP做傳輸層協議將它發到網路上。” 來兩張TCP/IP模型七層圖附帶解釋 :
三、Web伺服器的工作原理: 通過分享Web伺服器的原理將TCP/IP、Http協議體現出來. 情景:在網頁上輸入www.google.com請求過程? 簡單來說: 1、 客戶端通過TCP/IP協議建立到伺服器的TCP連線。 2、 客戶端向伺服器傳送HTTP協議請求包,請求伺服器裡的資源文件資料。 3 、伺服器向客戶機發送HTTP協議應答包,如果請求的資源包含有動態語言的內容,那麼伺服器會呼叫動態語言的 解釋引擎負責處理“動態內容”,並將處理得到的資料返回給客戶端。
4 、客戶機與伺服器斷開。由客戶端解釋HTML文件,在客戶端螢幕上渲染圖形結果。
原理:
第一步中涉及到
URL和DNS解析。
①:為什麼輸入www.google.com
URL
就可以轉到google網站?
URL(Uniform Resource Locator)是“統一資源定位符”的英文縮寫,用於描述一個網路上的資源, 基本格式如下:
scheme://host[:port#]/path/.../[?query-string][#anchor]
scheme
指定低層使用的協議(例如:http, https, ftp)
host
HTTP伺服器的IP地址或者域名
port
HTTP伺服器的預設埠是80,這種情況下埠號可以省略。如果使用了別的埠,必須指明,例如
http://www.qixing318.com:80/
path
訪問資源的路徑
query-string
傳送給http伺服器的資料
anchor
錨
DNS(Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網路服務命名系統,它用於TCP/IP網路,它從事將主機名或域名轉換為實際IP地址的工作。DNS就是這樣的一位“翻譯官”,它的基本工作原理可用下圖來表示。說白了就是為了更方便人們容易記住這個網站名字。例如:www.baidu.com、www.sohu.com等等。
所以經過DNS伺服器解釋過後得到IP地址--->客戶端--->請求對應的IP地址伺服器---->響應處理後哦返回給客戶端就完成了一次這樣的過程。
這次分享了基本的TCP/IP、HTTP協議基礎。寫得不對的歡迎指點,感謝閱讀。
二、HTTP協議:
關於TCP/IP和HTTP協議的關係,網路有一段比較容易理解的介紹:“我們在傳輸資料時,可以只使用(傳輸層)TCP/IP協議,但是那樣的話,如果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料有意義,則必須使用到應用層協議,應用層協議有很多,比如HTTP、FTP、TELNET等,也可以自己定義應用層協議。WEB使用HTTP協議作應用層協議,以封裝HTTP 文字資訊,然後使用TCP/IP做傳輸層協議將它發到網路上。” 來兩張TCP/IP模型七層圖附帶解釋
三、Web伺服器的工作原理: 通過分享Web伺服器的原理將TCP/IP、Http協議體現出來. 情景:在網頁上輸入www.google.com請求過程? 簡單來說: 1、 客戶端通過TCP/IP協議建立到伺服器的TCP連線。 2、 客戶端向伺服器傳送HTTP協議請求包,請求伺服器裡的資源文件資料。 3 、伺服器向客戶機發送HTTP協議應答包,如果請求的資源包含有動態語言的內容,那麼伺服器會呼叫動態語言的 解釋引擎負責處理“動態內容”,並將處理得到的資料返回給客戶端。
這次分享了基本的TCP/IP、HTTP協議基礎。寫得不對的歡迎指點,感謝閱讀。