第9章 應用程式層(4)_超文字傳輸通訊協定 (HTTP)HTTP

來源:互聯網
上載者:User

標籤:選項   外網   color   完全   ip地址   區域網路   自己   統一   伺服器   

5. 超文字傳輸通訊協定 (HTTP)HTTP

5.1 統一資源定位器URL

(1)URL的一般形式:<協議>://<主機>:<連接埠>/<路徑>

  ①協議後面必須寫上“://”,不能省略;

  ②主機是指該主機在網際網路上的網域名稱或IP地址;

  ③連接埠和路徑有時候可以省略。

(2)舉例

  ①HTTP的URL一般形式:http://<主機>:<連接埠>/<路徑>。其中連接埠預設為80,通常可省略。

  ②FTP的URL一般形式:ftp:// <主機>:<連接埠>/<路徑>。其中連接埠號碼預設為21。如ftp://user:[email protected]:9921。

5.2 絕對路徑和相對路徑

(1)絕對路徑(URL):為檔案提供完全的路徑,包括使用的協議,如http、ftp和rtsp等。如http://www.sohu.com,ftp://202.136.254.1。當連結到其他網站資源時,必須使用絕對路徑

(2)相對路徑:指向網站資料夾之內的檔案(或檔案夾)。只要是同一網站之下的,即使不在同一個目錄之下,相對路徑也非常合適。

  ①如果連結到同一目錄下,則只需要輸入要連結文檔的名稱。

  ②要連結到下一級目錄中的檔案,只需先輸入目錄名,然後加“/”再輸入檔案名稱。

  ③如果要連結到上一級目錄中的檔案,則先輸入“../”,再輸入目錄名、檔案名稱。

(3)根路徑:相對於網站的根目錄。以斜杠開頭,然後是檔案夾名,最後寫檔案名稱。如“/dir/file1.txt”

5.3 HTTP協議版本

(1)http1.0和http1.1的比較

  ①由於Web網站訪問量大,為了提高系統的效率,HTTP1.0規定瀏覽器與服務只保持短暫串連,瀏覽器的每次請求都需要與伺服器建立一個tcp串連。這也造成一些效能上的缺陷。比如,當一個包含許多映像的網頁檔案(如大量的<img>標籤),每下載一個映像檔案都必須單獨建立一個tcp串連,那怕影像檔很小也如此。由於頻繁建立和關閉tcp串連會嚴重影響伺服器的效能。

 

  ②http1.1支援持續串連。指的是Web伺服器在發送響應後的一段時間內仍保持這條串連,使同一客戶(瀏覽器)和該伺服器的通訊可以繼續使用該串連。這並不局限於傳送同一個頁面上連結的文檔,而只要這些文檔都在同一個伺服器上就行,它減少了建立和關閉串連的浪費。(目前IE預設使用http1.1,可在“工具”→“Internet選項”→“進階”→“HTTP1.1設定”中設定或取消,若取消則使用的是1.0版本)

(2)http1.1持續串連的兩種工作方式

 

  ①非流水線方式的特點:客戶在收到前一個響應後才能發出下一個請求。因此在TCP串連建立後,客戶每訪問一次對象都要用去一個往返時間RTT。如果要下載的檔案很多,伺服器在發送完一個對象後,其TCP串連就處理空閑狀態,浪費了伺服器資源。

  ②流水線方式的特點:客戶在收到http的響應報文 就能夠接著發送新的請求報文。於是一個接一個的請求報文到達伺服器後,伺服器就可以串連發迴響應報文。這種方式使TCP串連的空閑時間減少,提高了文檔的下載效率。因此,下載速度比非流水線的快很多。

5.4 HTTP的請求報文和響應報文

(1)請求報文(從用戶端向伺服器發送的請求報文)

 

   ①由於http是面向文本的,因此在報文中的每個欄位都是一些ASCII碼串,通常以\r\n結束

  ②http請求報文由三部分組成:A.開始行。主要用於區別是請求報文還是響應服文。B.首部行,用來說明瀏覽器、伺服器或報文主體的一些資訊。首部可以多行,也可以不使用。每一行都以“斷行符號”和“換行”結束。整個部分行結束,還要有一個“斷行符號”和“換行”。C.實體主體。在請求報文中一般不用這個欄位,而響應報文中也可能沒有這個欄位。

  ③“請求行”的“Request Method”共有8方法)。用來表示對“Request URI”指定的資源的不同操作方式,注意方法名是區別大小寫的!

(2)響應報文(從伺服器到用戶端的應答)

 

  ①響應報文的第1行是狀態行:包括http版本、狀態代碼以及解釋狀態代碼的簡單短語等三項內容。

  ②狀態代碼(Status Code)共5大類33種

狀態代碼

含義

1xx

表示通知資訊。如請求收到了或進行中處理

2xx

表示成功。如接受或知道了

3xx

表示重新導向。如要完成請求還必須採取進一步的行動

4xx

表示用戶端的錯誤。如請求中有錯誤的文法或不能完成

5xx

表示伺服器的差錯。如伺服器失效無法完成請求

5.5 Cookie

(1)Cookie簡介:

  ①由於http是一種無狀態的協議。為了記錄資訊,當用戶端請求伺服器時,如果伺服器記錄需要記錄該使用者的狀態,就使用response向用戶端瀏覽器頒發一個Cookie,用戶端瀏覽器會把Cookie儲存起來。

  ②當瀏覽器再次請求該網站時,瀏覽器把請求的網址連同該Cookie一同提交給伺服器。伺服器會檢查該Cookie,還可以根據需要修改Cookie的內容。

(2)Cookie的匯出和匯入

  ①匯出:瀏覽126郵箱,選擇“十天內免登入”。然後“檔案”→“匯入和匯出”→“匯出Cookie” →指定儲存位置

  ②匯入:在另一台電腦上,開啟瀏覽器→“檔案”→“匯入和匯出”→“匯入Cookie”,然後開啟126郵箱,該網站自動讀取Cookie並自動登入。

(3)Cookie安全(刪除Cookie):“Internet選項”→“常規”→“刪除Cookie”

5.6 通過Proxy 伺服器訪問網站

(1)Proxy 伺服器應用情境

  ①使用Proxy 伺服器,繞過防火牆封鎖。由於國內防火牆攔截了到某些國外網站(如B)的流量。但國外有很多WebProxy 伺服器(如C),國內使用者可以設定瀏覽器使用國外的Proxy 伺服器,然後再去訪問這些網站就能成功。

 

  ②提高內網使用者的訪問速度。Proxy 伺服器可以緩衝使用者訪問過的內容,當其他使用者再訪問相同的URL時,由Proxy 伺服器從緩衝中找到要訪問的資訊,傳給使用者,從而提高訪問速度。

 

  ③隱藏真實IP。有些網站的論壇會記錄發貼人的IP地址,可以使用Proxy 伺服器去訪問,這樣網站只會記錄代理的地址,從而隱藏自己的IP。

(2)架設WebProxy 伺服器

  ①將Win2003虛擬機器架設成WebProxy 伺服器:運行CCProxy軟體。(注意本機IP:192.16.80.20,運行該軟體後預設會在808連接埠監聽用戶端串連)

 

  ②通常Proxy 伺服器有兩個網卡,一個串連Internet,一個串連內網。串連內網的網卡為內網電腦上網的Proxy 位址。(本實驗WebProxy 伺服器就一個網卡,因此需要指定哪個地址可以作為Proxy 位址,方法是CCProxy→“帳戶” →在“允許範圍”中選擇“允許所有”)。

 

(3)測試代理程式

  ①xp機上指定使用Proxy 伺服器:開啟IE→“工具”→“Internet選項”→“串連”選項卡→“區域網路設定”→在“Proxy 伺服器”中填入IP和連接埠(如上面的IP:192.168.80.20,連接埠808)

 

  ②瀏覽網站。然後用netstat -an查看,就可以看到只有和Web代理建立的TCP串連了。也可以在Win2003的代理服務軟體的“監控”中看到這些資訊。

 

 

第9章 應用程式層(4)_超文字傳輸通訊協定 (HTTP)HTTP

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.