目錄
一、Web 與 HTTP
二、總結
(一)Web 的定義與功能
(二)HTTP 協議的定義與功能
(三)HTTP 協議的核心機制
1.?HTTP 請求與響應流程
2.?HTTP 的連接類型
3.?HTTP 的狀態碼
(四)Web 與 HTTP 的協作模型
1.?客戶端-服務器架構
2.?Web 服務器的組成
(五)Web 的演進與 HTTP 的發展
1.?Web 的發展階段
2.?HTTP 協議的演進
(六)Web 與 HTTP 的典型應用場景
(七)總結
一、Web 與 HTTP
二、總結
(一)Web 的定義與功能
- Web(World Wide Web)
- 定義:Web 是基于超文本(Hypertext)和統一資源定位符(URL)構建的全球信息空間,由相互鏈接的網頁、圖像、腳本等數字資源組成。
- 核心特性:
- 資源對象化:每個文件(HTML 文檔、圖片等)視為獨立對象。
- 超鏈接導航:通過 URL 實現跨文檔跳轉。
- 客戶端-服務器架構:用戶通過瀏覽器訪問 Web 服務器上的資源。
- Web 的組成:
- 網頁(Web Page):由 HTML 文件、圖片、腳本等對象組成。
- 網站(Website):多個網頁的集合,包含主頁和其他子頁面。
- 靜態網頁 vs 動態網頁:
- 靜態網頁:固定內容,無需后臺交互(如?
.html
?文件)。 - 動態網頁:內容根據用戶請求動態生成(如 PHP、JSP 頁面)。
- 靜態網頁:固定內容,無需后臺交互(如?
(二)HTTP 協議的定義與功能
- HTTP(HyperText Transfer Protocol)
- 定義:HTTP 是支撐 Web 資源傳輸的應用層協議,定義了客戶端與服務器之間的通信規則。
- 核心功能:
- 請求-響應模式:客戶端發送請求,服務器返回響應。
- 支持多種方法:如?
GET
、POST
、HEAD
?等。 - 狀態碼機制:如?
200 OK
、404 Not Found
?等。 - 無狀態協議:服務器不保存客戶端的上下文信息。
- HTTP 與 Web 的協作:
- Web 的運作完全依賴 HTTP 協議傳輸資源。
- 例如:瀏覽器請求?
http://example.com/index.html
?時,HTTP 協議負責將 HTML 文檔從服務器傳輸到客戶端。
(三)HTTP 協議的核心機制
1.?HTTP 請求與響應流程
-
請求報文結構:
GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: text/html
- 請求行:包含方法(
GET
)、URL、HTTP 版本。 - 請求頭:包含客戶端信息(如?
User-Agent
)、請求修飾符。 - 請求體:僅在?
POST
?方法中使用,用于傳輸數據。
- 響應報文結構:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
Server: Apache<html>...</html>
- 狀態行:包含 HTTP 版本、狀態碼、狀態消息。
- 響應頭:包含服務器信息(如?
Server
)、內容類型。 - 響應體:實際返回的數據(如 HTML 頁面)。
2.?HTTP 的連接類型
-
非持久連接(HTTP 1.0)
- 每次請求建立一個新的 TCP 連接,請求完成后立即關閉。
- 缺點:頻繁的 TCP 握手和揮手導致高延遲。
-
持久連接(HTTP 1.1 默認)
- 多個請求/響應復用同一個 TCP 連接。
- 優化方式:
- 流水線(Pipelining):允許客戶端連續發送多個請求,服務器按序響應。
- 分塊傳輸編碼(Chunked Transfer Encoding):允許流式傳輸內容,無需預先知道總長度。
3.?HTTP 的狀態碼
類別 | 示例 | 說明 |
---|---|---|
1xx(信息) | 100 Continue | 請求已接收,繼續發送數據。 |
2xx(成功) | 200 OK | 請求成功,返回數據。 |
3xx(重定向) | 301 Moved Permanently | 資源已永久移動到新位置。 |
4xx(客戶端錯誤) | 404 Not Found | 請求的資源不存在。 |
5xx(服務器錯誤) | 500 Internal Server Error | 服務器內部錯誤。 |
(四)Web 與 HTTP 的協作模型
1.?客戶端-服務器架構
- 客戶端:用戶使用的設備(如瀏覽器),發送 HTTP 請求。
- 服務器:存儲和處理數據的遠程計算機,接收請求并返回響應。
- 通信協議:HTTP 使用 TCP 作為傳輸層協議,確保可靠傳輸。
2.?Web 服務器的組成
- 監聽組件:監聽指定端口(如 80)的 HTTP 請求。
- 請求解析器:解析請求方法、URL、請求頭和請求體。
- 處理邏輯:調用應用程序、數據庫或其他資源生成響應。
- 響應生成器:構建 HTTP 響應(狀態碼、響應頭、響應體)。
- 連接管理:管理 TCP 連接(持久連接、關閉策略)。
(五)Web 的演進與 HTTP 的發展
1.?Web 的發展階段
- Web 1.0:靜態網頁,單向信息傳遞(用戶只能讀取內容)。
- Web 2.0:動態網頁,用戶交互增強(如微博、相冊)。
- Web 3.0:語義網,數據互聯與智能化(通過元數據實現機器理解內容)。
2.?HTTP 協議的演進
- HTTP/1.0:非持久連接,簡單但效率低。
- HTTP/1.1:默認持久連接,引入分塊傳輸和流水線。
- HTTP/2:多路復用(Multiplexing),減少延遲。
- HTTP/3:基于 QUIC 協議,進一步優化傳輸效率。
(六)Web 與 HTTP 的典型應用場景
- 網頁瀏覽:瀏覽器通過 HTTP 請求加載 HTML、CSS、JavaScript 等資源。
- API 接口調用:后端服務通過 HTTP 提供 RESTful API,供前端或移動端調用。
- 實時通信:結合 WebSocket 協議,實現雙向實時通信(如在線聊天)。
- 安全通信:通過 HTTPS(HTTP + TLS/SSL)加密傳輸數據,保障隱私和完整性。
(七)總結
對比項 | Web | HTTP |
---|---|---|
定義 | 全球信息空間,基于超文本和 URL 構建 | 應用層協議,用于傳輸 Web 資源 |
核心功能 | 提供信息組織與交互的平臺 | 定義客戶端與服務器之間的通信規則 |
依賴關系 | 依賴 HTTP 協議傳輸資源 | 為 Web 提供傳輸機制 |
無狀態特性 | 無狀態(需通過 Cookie 或 Token 維持會話) | 無狀態(每次請求獨立) |
演進方向 | 從靜態內容到語義網、去中心化 | 從 HTTP/1.0 到 HTTP/3,優化性能與安全性 |