HTTP協議和WEB應用


一、應用層協議原理

  1.套接字(Socket):主機地址+端口地址。(通常為32位IP地址和16位端口號組成,總長度為48位)

  2.進程通過套接字來接收和發送報文。因特網運輸層將所提供的服務整合成兩種傳輸服務,TCP與UDP。

  TCP:

   特點:面向連接(C/S)、可靠傳輸、流量控制、擁塞控制

   應用(括號對應協議):e-mail(stmp)、遠程終端訪問(telnet)、Web(http)、文件傳輸(ftp)等。

  UDP:

   特點:不可靠傳輸

   應用:流媒體(專有協議,如RealNetworks)、IP電話(專有協議,如Vocaltec)等。

二、WEB應用和HTTP協議

  1.WEB構成

   a.WEB服務器:IIS、Apache、Tomcat等

   b.瀏覽器:IE、Firefox、Chrome等

   c.協議:信息傳輸協議--HTTP,信息表達協議--HTML

  2.WEB內容的表達

   a.WEB頁面由一些對象組成,如HTML文件、JPEG圖片、音頻等

   b.任何一個對象都可以用URL來定位

  3.WEB內容的傳輸--HTTP協議

   a.客戶端/服務器模式:瀏覽器請求、接收、展示WEB對象;服務器發送對象對請求響應

   b.http1.0:非持久性連接。頁面有多少對象就要多少連接(步驟:TCP連接、對象請求/傳送)

   c.http1.1:持久連接。保持連接用於后續對象的傳送,占用服務器資源少。

  4.HTTP請求報文

   a.一般格式如下

請求報文一般格式

    b.支持的方法:

    HTTP1.0定義的方法有:GET(請求指定URL的對象)、POST(提交表單、也可以同時請求一個WEB頁面)、HEAD(請求服務器返回一個響應報文,常用以進行故障跟蹤)。

    HTTP1.1新定義的方法有:PUT(上傳的文件放在實體主體字段中,目標路徑有URL字段標明)、DELETE(刪除URL字段中指定的文件)。

  5.HTTP響應報文

   a.一般格式如下

響應報文一般格式

   b.常見的HTTP響應狀態碼和短語

    · 200 OK (請求成功)

    · 301 Moved Permanently (被請求的對象被移動過)

    · 400 Bad Request (服務器不理解的請求)

    · 404 Not F6ound (找不到請求的對象)

    · 505 HTTP Version Not Supported (不支持請求報文使用的HTTP協議版本)

   6.用戶-服務器交互:Cookie

   a.Web站點使用Cookie的目的:限制用戶的訪問,把內容和用戶身份關聯起來。

   b.Cookie技術的組成部分:

    ·在HTTP響應報文中有一個Cookie首部行;

    ·在HTTP請求報文中也有一個Cookie首部行;

    ·在用戶的端系統中保留了一個Cookie文件,由用戶瀏覽器負責管理;

    ·在Web站點有一個后端數據庫。

   c.Cookie工作流程:如下圖

    

   d.優點:認證、推薦、用戶會話狀態、購物車等。

  7.WEB緩存

   a.目的:加速客戶端訪問頁面速度,減少時延;減少局域網與外部網絡數據交換量,節省寬帶開支。

   b.效果評估:命中率與延時

   c.緩存報文:幾個關鍵字:Last-Modified、If-Modified-Since、304 Not Modified

 

三、文件傳送協議:FTP

  1.FTP簡況

   使用TCP協議傳輸數據、C/S模式、端口:21/20

  2.FTP主要功能

   a.客戶機與服務器之間交換一個或多個文件,文件可復制不可移動

   b.能夠傳輸多種類型、多種結構、多種格式的文件

   c.提供對本地和遠程系統的目錄操作功能,如改變目錄

   d.具有對文件改名、顯示內容、改變屬性、刪除之功能以及其他一些操作

   e.具有匿名FTP功能

  3.FTP與HTTP對比

   a.相同點:均使用TCP協議。

   b.不同點:

    ·FTP的控制信息是帶外傳送的,HTTP的控制信息則是帶內傳送的。FTP存在兩個並行的連接,分別是:控制連接(21)和數據連接(20)。

    ·FTP連接是有狀態的,HTTP無狀態。有狀態:在整個會話期間維護用戶狀態信息。把用戶賬戶和控制連接聯系起來、追蹤用戶在遠程目錄樹上的位置、對活動着的用戶會話的狀態進行追蹤,以限制FTP會話總數。

   c.常用的FTP命令:

    ·USER username;

    ·PASS password

    ·LIST

    ·RETR filename

    ·STOR filename

   d.常見的FTP應答:

    ·331 Username OK, password required

    ·125 data connection already open; transfer starting

    ·425 Can't open data connection

    ·452 Error writing file

 

四、E-mail

  1.構成

   a.用戶代理:郵件報文編輯、查閱,如FoxMail等。

   b.郵件服務器:郵箱、報文。

   c.郵件傳輸協議(如SMTP):客戶端(發送郵件到服務器)、服務器(接收和轉發)。

   d.郵局協議(如POP)。

  2.SMTP協議

   a.SMTP協議簡述:

    ·使用TCP可靠傳送郵件報文,端口25;

    ·直接傳輸:發送服務器到接收服務器;

    ·傳輸三個階段:握手、報文傳輸、結束;

    ·命令/響應交互:命令(ASCII文本)、響應(狀態碼和短語);

    ·郵件報文必須使用7-bit ASCII表示。

   b.傳輸過程:

    ·用戶代理發送消息給目標郵箱test@mail.com       

    ·發送郵件服務器將消息保存到消息隊列         

    ·SMTP客戶端與test的郵件服務器建立TCP連接      

    ·SMTP客戶端通過TCP連接發送消息到test的郵件服務器  

    ·消息存儲,並等待被閱讀。

   c.交互樣例:如下圖

  3.SMTP評述

   a.使用持續連接

   b.要求報文(首部&信體)全部使用7-bit ASCII碼

   c.某些代碼組合不允許出現在報文中(e.g., CRLF.CRLF),需要進行編碼(base-64或quoted printable)

   d.SMTP服務器用CRLF.CRLF表示郵件報文的結束

  4.SMTP vs HTTP

   a.都使用ASCII命令/響應交互,狀態碼

   b.HTTP:pull SMTP:push

   c.HTTP每個對象分裝在各自的響應報文中,SMTP多個對象在一個多分部的報文中傳送

  5.郵件報文格式

   首部(header):

    To:xxx@mail.com

    From:yyy@mail.com

    Subject:......

   信體(body,報文):

    ASCII characters only

  6.非ASCII碼數據的MIME擴展

   使用MIME擴展對消息進行轉碼


免責聲明!

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



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