1. 程式人生 > >第一章 HTTP 概述

第一章 HTTP 概述

Web 瀏覽器、伺服器和相關的 Web 應用程式都是通過 HTTP 相互通訊的。HTTP 是現代全球因特網中使用的公共語言。本章特別介紹以下內容:

  • Web 客戶端與伺服器是如何通訊的
  • 資源來自何方
  • Web 事務是怎樣工作的
  • HTTP 通訊所用的報文格式
  • 底層 TCP 網路傳輸
  • 不同 HTTP 協議變體
  • 因特網上安裝大量 HTTP 架構元件中的一部分

Web 客戶端和伺服器

Web 內容是儲存在 Web 伺服器上的,Web 伺服器所使用的是 HTTP 協議,因此經常會被稱為 HTTP 伺服器。客戶端向伺服器傳送 HTTP 請求,伺服器會在 HTTP 響應中會送所有請求資料。最常見的客戶端就是 Web 瀏覽器。

資源

Web 伺服器是 Web 資源的宿主。Web 資源是 Web 內容的源頭。最簡單的資源就是 Web 伺服器裡的靜態檔案。但資源不一定非得是靜態檔案,資源還可以是根據需要生成內容的軟體程式。這些動態內容資源可以根據你的身份、所請求的資訊或時段來產生內容。

媒體型別

因特網上有數千種不同的資料型別,HTTP 給每種要通過 Web 傳輸的物件打上了名為 MIME 型別的資料格式標籤。Web 伺服器會為所有的 HTTP 物件附加一個 MIME 型別,當 Web 瀏覽器從伺服器中取回一個物件時,會去檢視相關的 MIME 型別,看看它是否知道要如何處理這個物件。
在這裡插入圖片描述

MIME 型別是一種文字標記,表示一種主要物件型別和一個特定的子型別,中間由一條斜槓來分隔。

  • Html 的文字文件由 text/heml 型別來標記
  • GIF 格式的圖片為 image/gif 型別

URI

每個 Web 伺服器資源都有一個名字,這樣客戶端就可以說明它們感興趣的資源是什麼了。伺服器資源名被稱為***統一資源識別符號(Uniform Resource Identifier)。***
在這裡插入圖片描述

URI 有兩種形式,分別稱為 URL 和 URN。

URL

***統一資源定位符***是資源識別符號中最常見的形式。URL 描述了一臺特定伺服器上某資源的特定位置
在這裡插入圖片描述

大部分 URL 都遵循一種標準格式,這種格式包含三個部分:

  • URL 的第一部分被稱為方案,說明了訪問資源所使用的協議型別。這部分通常就是 HTTP 協議(http://)。
  • 第二部分給出了伺服器的因特網地址
  • 其餘部分指定了因特網上的某個資源

事務

一個 HTTP 事務由一條(從客戶端發往伺服器的)請求命令和一個(從伺服器發回客戶端的)響應結果組成。這種通訊是通過名為 HTTP 報文的格式化資料塊進行的。
在這裡插入圖片描述

方法

HTTP 支援幾種不同的請求命令,這些命令被稱為 HTTP 方法。每條 HTTP 請求報文都包含一個方法,這個方法回告訴伺服器要執行什麼動作(獲取一個 Web 也面、執行一個網管程式、刪除一個檔案等)

HTTP 方法 描述
GET 從伺服器向客戶端傳送命名資源
PUT 將來自客戶端的資料儲存到一個命名的伺服器資源中
DELETE 從伺服器中產出命名資源
POST 將客戶端資料傳送到一個伺服器閘道器應用程式
HEAD 僅傳送命名資源響應中的 HTTP 首部

狀態碼

每條 HTTP 響應報文返回時都會攜帶一個狀態碼。狀態嗎是一個三位數字的程式碼,告知客戶端請求是否成功,或者是否需要採取其他動作。

HTTP 狀態碼 描述
200 OK,文件正確返回
302 Redirct(重定向),到其他地方去獲取資源
404 Not Foud,無法找到這個資源