TCP/IP(六)應用層(DNS和HTTP協議)

閱讀目錄(Content)

  • 一、應用層概述

        1.1、應用層簡介

        1.2、應用層中的應用軟件分兩種:客戶/服務器和P2P體系結構

  • 二、應用層協議之DNS協議

         2.1、DNS協議概述

         2.2、DNS協議工作過程

  • 三 、應用層協議之HTTP協議

        3.1、HTTP協議簡介

        3.2、統一資源定位符URL

        3.3、超文本傳輸協議

        3.4、請求和響應報文的格式

        3.5、HTTP協議功能

一、應用層概述

1.1、應用層簡介

在這裏插入圖片描述

位於計算機網絡體系結構的最上層,前面四層做的所有事情就是爲了他服務,他也是設計和建立計算機網絡的最終目的,通俗的講,就是我們開發的應用軟件,就處於這一層,

比如,QQ,瀏覽器訪問網頁,等等你看得到的應用軟件都是在這一層,但是這些軟件在運行的過程中,也需要依靠一些特定的協議才能完成相應的功能,

比如瀏覽器通過網址訪問網頁,其中是如何做到的,這就是我們所要學習的東西。

1.2、應用層中的應用軟件分兩種:客戶/服務器和P2P體系結構

1)客戶/服務器(client/server)
.
  這種類型,就是我們很熟悉的客戶端,服務器模型,客戶端請求服務器,服務器響應客戶端這樣的一種方式進行“交流”

2)P2P
.
  也稱爲對等體系結構。P2P相當於每個人的電腦度可以當服務器,也可以當客戶端,不單單限制於只能客戶端訪問服務器,
.
  你自己的計算機可以去訪問別人的計算機上的內容,別的同樣可以訪問你計算機上的內容,這樣達到一種共享的狀態。

二、應用層協議之DNS協議

2.1、DNS協議概述

Domain Name System 域名系統。也可以叫做域名解析協議。在我們在瀏覽器訪問網頁的時候,通常度是用我們所熟悉的一連串有意義的英文字符標識,比如www.baidu.com、www.sohu.com等。

但是我們學了前面的知識,計算機並不是通過這些字符串去找到對應的計算機,而是通過32位的二進制,也就是我們的IP地址來找。所以就有了DNS協議。他的作用就是將域名解析成對應的IP地址。

因爲讓我們人去記那些IP地址,很難記得住,所以就想辦法讓IP地址轉變爲了現在的域名,在進行訪問的時候,只需要將域名解析爲對應的IP地址就行了,這個域名也很有講究,其中分爲好多層域名,是獨一無二的。這裏不細講這個,只要我們知道,域名通過DNS能找到對應的IP地址就行了。

2.2、DNS協議工作過程

1)通過域名訪問網頁

2)計算機會先將域名發送到一個解析域名的服務器上

2.1 在其服務器上有很多服務器,能解析各種各樣的域名,比如有專門解析.org的,解析.com的,解析.net的。等等,最主要的有一個根域名服務器

2.2 在其服務器上有很多服務器,能解析各種各樣的域名,比如有專門解析.org的,解析.com的,解析.net的。等等,最主要的有一個根域名服務器

2.3 本機計算機找到其中一臺解析域名的服務器(可能是.com),如果沒有找到對應的IP地址,那麼就會去找根域名服務器,根域名服務器知道所有的子服務器,
所以他肯定知道該域名所對應的IP地址在那個子服務器中,所以告訴第一次查詢的服務器要他去另一臺服務器上找,找到了,就將其返回給計算機,
以後在有另一臺計算機也通過這個域名訪問,那麼第一臺服務器會有原來的域名IP地址的緩存,就不用去找根服務器了。
.

3)找到了,就能找到我們要訪問的服務器了。

在這裏插入圖片描述

三 、應用層協議之HTTP協議

3.1、HTTP協議簡介

1)超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最爲廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。

2)HTTP是一個客戶端和服務器端請求和應答的標準(TCP)。客戶端是終端用戶,服務器端是網站。通過使用Web瀏覽器、網絡爬蟲或者其它的工具,客戶端發起一個到服務器上指定端口(默認端口爲80)的HTTP請求。

(我們稱這個客戶端)叫用戶代理(user agent)。應答的服務器上存儲着(一些)資源,比如HTML文件和圖像。(我們稱)這個應答服務器爲源服務器(origin server)。在用戶代理和源服務器中間可能存在多箇中間層,

比如代理,網關,或者隧道(tunnels)。儘管TCP/IP協議是互聯網上最流行的應用,HTTP協議並沒有規定必須使用它和(基於)它支持的層。 事實上,HTTP可以在任何其他互聯網協議上,或者在其他網絡上實現。

HTTP只假定(其下層協議提供)可靠的傳輸,任何能夠提供這種保證的協議都可以被其使用。

3)通常,由HTTP客戶端發起一個請求,建立一個到服務器指定端口(默認是80端口)的TCP連接。HTTP服務器則在那個端口監聽客戶端發送過來的請求。一旦收到請求,服務器(向客戶端)發回一個狀態行,

比如"HTTP/1.1 200 OK",和(響應的)消息,消息的消息體可能是請求的文件、錯誤消息、或者其它一些信息。

HTTP使用TCP而不是UDP的原因在於(打開)一個網頁必須傳送很多數據,而TCP協議提供傳輸控制,按順序組織數據,和錯誤糾正。

4)通過HTTP或者HTTPS協議請求的資源由統一資源標示符(Uniform Resource Identifiers)(或者,更準確一些,URLs)來標識

3.2、統一資源定位符URL

URL:統一資源定位符,通過下面格式,可以看出,就是用來定位我們所需要資源在服務器上的位置。

格式:<協議>://<主機>:<端口>/<路徑>

協議:http

主機:域名/IP地址,原理度一樣,到頭來還是會轉換爲IP地址,通過這個才能找到目標服務器

端口: 在傳輸層需要使用的,訪問目的主機的哪個端口號。

路徑:精準的定位我們所需要的資源位置。

平常會省略協議和端口號,因爲這些都是默認的,在訪問主頁時,路徑也會省略。比如www.baidu.com這個默認進入百度的主頁 完整寫法 http://www.baidu.com:80/index.html 。

3.3、超文本傳輸協議

1)作用

怎樣向服務器請求文檔、服務器怎麼把文檔傳送給瀏覽器,通俗點講,就是我們想服務器訪問網頁資源時,服務器如何把網頁上的東西傳給我們。

客戶端向服務器:請求報文    服務器向客戶端:響應報文

其實就是:在通過URL訪問你服務器時,就會發送一個請求報文,告訴服務器需要哪些東西,服務器知道後,返回一個響應報文給客戶端,其中就會帶有一些網頁信息。

就是通過這個來達到傳送網頁資源的目的,現在來具體看看,請求報文和響應報文的格式。

3.4、請求和響應報文的格式

格式都一樣,內容不一樣。

請求行            響應行

請求頭部           響應體

請求數據           響應數據

1)請求報文格式圖

在這裏插入圖片描述

2)響應報文格式圖

在這裏插入圖片描述

3.5、HTTP協議功能

         HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,

還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。

HTTP是客戶端瀏覽器或其他程序與Web服務器之間的應用層通信協議。在Internet上的Web服務器上存放的都是超文本信息,客戶機需要通過HTTP協議傳輸所要訪問的超文本信息。HTTP包含命令和傳輸信息,

僅可用於Web訪問,也可以用於其他因特網/內聯網應用系統之間的通信,從而實現各類應用資源超媒體訪問的集成。

我們在瀏覽器的地址欄裏輸入的網站地址叫做URL (Uniform Resource Locator,統一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網頁也都有一個Internet地址。

當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協議(HTTP),將Web服務器上站點的網頁代碼提取出來,並翻譯成漂亮的網頁。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章