應用層概述


1.網絡應用程序體系結構

  (1)客戶服務器體系結構:存在一個或者多個主動連接服務器,從服務器獲取所需服務的客戶機,也存在一個能夠像客戶提供服務的服務器(①客戶機之間不能通信②通常采用服務器集群的方式增大服務器端的處理能力)

  

  (2)P2P體系結構:該體系結構中任何一方既能提供服務也能接受服務,不同的結點之間可以互相通信,結點之間的地址以及他們之間的連接隨時都可能發生變化(P2P應用比較容易擴展,但是相對來說管理比較困難)

   

  (3)混合結構(上面兩種結構的混合):C/S和P2P的混合

2.網絡應用進程通信

  (1)不同主機上面的不同的進程通信(消息交換或者報文交換)通過網絡中的套接字來實現,由傳輸基礎設施向應用進程提供API(包括傳輸協議的選擇和相關參數的設置)

  (2)進程尋址:通過Ip地址和端口號來實現;IP地址標識Internet上面的唯一一台主機,但是除了IP地址之外,我們還需要區分同一台主機上面的不同的應用程序,這就通過端口號來實現

  (3)應用層協議:指的是網絡應用中需要遵循的協議規定;

  (4)應用層協議的內容:

    ①定義消息的類型:包括請求消息和響應消息

    ②消息的語法格式:包括消息中的字段,每個字段的描述

    ③字段的語義:指的是字段中的信息的含義

    ④指定規則:例如進程如何發送或者響應消息,進程何時發送或者響應消息

3.Web應用概述

  (1)Web的應用層協議是超文本傳輸協議(HTTP),HTTP由服務器和客戶端兩個部分組成,使用HTTP報文進行會話。

  (2)Web頁面是由對象組成,一個對象可以是HTML文件、圖形文件、視頻文件等文件類型,這些對象通過URL來進行尋址

  (3)HTTP使用TCP作為他的傳輸層協議。  

    ①HTTP客戶首先發起一個與服務器的TCP連接,一般情況下,服務器端口默認是80,所以服務器端應用在80端口監聽客戶端的請求

    ②客戶端發送到服務器端的TCP連接(創建套接字),服務器接受來自客戶端的TCP連接

    ③客戶端和服務器之間通過http報文進行相關信息的交換

    ④最后關閉TCP連接

  (4)HTTP是一種無狀態協議:即服務器端不維護任何關於客戶端過去發送的信息

  (5)HTTP連接類型:

    ①非持續連接:下面是一個非持續連接的例子

  

  

    a)非持續連接請求一個文件所需要的響應時間分析:

    

      發起TCP、請求建立TCP連接所需要的時間:1RTT

      發送HTTP請求消息和HTTP響應消息:1RTT

      響應消息中所包含的請求文件信息的傳輸時間

    所以總的時間就是2RTT+文件傳輸時間

    b)缺陷:

      每個對象都需要2RTT

      操作系統建立TCP連接造成大的資源開銷

      客戶端使用瀏覽器並行的建立TCP連接請求資源,會給服務器造成更大的壓力

    ②持續連接:HTTP1.1中新引入的持續連接傳輸模式

      a)服務器在發送響應后,保持TCP連接,用於后續對象的傳輸,從而減少了服務器端連接次數的需要,減少了服務器端對套接字資源的占用,增大服務器端的負載能力

      b)流水線傳輸方式:客戶端可以一次性發送所有請求,然后等待接收,理想情況下,收到的時間大約為1RTT

      c)非流水傳輸方式:客戶端發送求情之后,等到收到服務器的響應之后才可以發送下一個請求,這樣的話,每一個對象的傳輸都需要1RTT的時間

   (6)HTTP請求消息格式

    a)HTTP請求報文的一般格式

    

    如下實例:

    

    b)HTTP1.0版本中請求所支持的方法:

      GET:想服務器發送指定URL的對象

      POST:用於向服務器提交表單,也可以請求Web頁面,

      HEAD:服務器發送回來的響應報文,該報文中不包含請求的對象

    c)HTTP1.1版本中除了GET、POST、HEAD之外新定義的方式

      PUT:將上傳的字段放在實體主體字段中,目標路徑由URL標明

      DELETE:刪除指定URL對應的字段  

   (7)HTTP響應消息

    a)HTTP響應報文的一般格式  

    

    下面是一個具體的例子

     

   (8)HTTP中的Cookie技術

     a)為了辨別用戶身份,進行會話跟蹤而存儲在本地終端上面的數據

    b)組件

      Http請求消息中的cookie頭部行

      Http響應消息中的cookie頭部行

      保存在客戶端主機上面的cookie文件,通常由瀏覽器管理

      Wen站點后台數據庫

    c)Cookie的工作流程

    

    d)cookie好處

      實現認證功能

      購物車功能

      推薦功能

      保存用戶的回話狀態(Web email)

    e)用戶的隱私被暴露

   (9)HTTP中的Web緩存技術

    a)Web緩存也叫代理服務器,能夠代表初始服務器來滿足HTTP請求。即用戶可能可以在不訪問初始服務器的情況下滿足自己的HTTP請求

    b)用戶通過設定瀏覽器通過緩存進行Web訪問,則瀏覽器想代理服務器發送所有的HTTP請求,如果請求對象在緩存中,則直接返回對象,否則,代理服務器想初始服務器發送HTTP請求,然后返回給客戶端並保存該對象  

    

 

    c)上面可以看書代理服務器既充當客戶端,也充當服務器

    d)Web緩存示例分析

      

    

    

    e)條件get方法:解決緩存服務器和初始服務器中的數據一致性問題,即:緩存中有最新的數據,則不需要想初始服務器發送請求,否則在請求消息中聲明自己所持有的舊版本的數據的日期。初始服務器對緩存服務器的數據進行判斷,如果緩存中的數據是最新的,則響應消息中不包含對象

 

    

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM