超文本傳輸??協(xié)議(HTTP)是一個用于傳輸超媒體文檔(例如 HTML)的應(yīng)用層協(xié)議。它是為 Web 瀏覽器與 Web 服務(wù)器之間的通信而設(shè)計的,但也可以用于其他目的。HTTP 遵循經(jīng)典的客戶端-服務(wù)端模型,客戶端打開一個連接以發(fā)出請求,然后等待它收到服務(wù)器端響應(yīng)。HTTP 是無狀態(tài)協(xié)議,這意味著服務(wù)器不會在兩個請求之間保留任何數(shù)據(jù)(狀態(tài))。該協(xié)議雖然通?;?TCP/IP 層,但可以在任何可靠的傳輸層上使用;也就是說,不像 UDP,它是一個不會靜默丟失消息的協(xié)議。RUDP——作為 UDP 的可靠化升級版本——是一種合適的替代選擇。
HTTP 概述
介紹了客戶端-服務(wù)器端協(xié)議的基本特征:它能夠做什么以及它的設(shè)計意圖。
HTTP 緩存
緩存對高速 Web 站點來說是非常之重要的。這篇文章闡述了不同種類的緩存以及如何配置 HTTP 首部來控制它們。
HTTP Cookie
RFC 6265 定義了 cookie 是怎樣工作的。當(dāng)接收到一個 HTTP請求時,服務(wù)器可以在響應(yīng)中發(fā)送一個 Set-Cookie 首部字段。接著,對于同一臺服務(wù)器發(fā)起的每一個請求,客戶端都會在 HTTP 請求頭中以字段 Cookie 的形式將 cookie 的值發(fā)送過去。 此外,還可以指定一個過期時間,也可以指定一個特定的域名和路徑中使用。
HTTP 訪問控制(CORS)
跨站 HTTP 請求就是從另一個域名,而不是資源所在的域名發(fā)起的 HTTP 請求。舉例來說,在域名 A (http://www.xxx.com/) 的 HTML 頁面上使用 img 元素 (<img src="http://www.xxx.com/image.jpg">) 來請求域名 B (http://www.bbb.com/) 上的圖片資源。這在當(dāng)前的 web 頁面上很常見 —— 頁面通過跨域規(guī)則加載 CSS 樣式表,圖片,腳本以及其他資源。
HTTP 的演變
簡單描述了從早期版本的 HTTP 到現(xiàn)在的 HTTP/2 以及未來的 HTTP 這個過程中發(fā)生的變更。
HTTP 消息
描述了 HTTP/1.x 和 HTTP/2.x 中不同種類消息的類型和結(jié)構(gòu)。
典型的 HTTP 會話
展現(xiàn)并解釋了一個常見的 HTTP 會話流程。
HTTP/1.x 中的連接管理
描述了在 HTTP/1.x 中的三種連接管理模型,以及它們的優(yōu)勢和劣勢。
HTTP 首部
HTTP 消息首部被用來描述資源信息,或是客戶端和服務(wù)器的行為。自定義的專有首部可以加上 'X-' 前綴;? 其他的可以在 IANA registry 找到,其原始定義在 RFC 4229。IANA 同時也維護(hù)著一份 registry of proposed new HTTP message headers。
HTTP 請求方法
可以使用 HTTP: GET,POST 方法來完成不同操作,同時也有一些其他的方法,如 OPTIONS,DELETE 和 TRACE。
HTTP 狀態(tài)返回碼
HTTP 狀態(tài)返回碼用來表示指定的 HTTP 請求是否成功完成。響應(yīng)被分為 5 種類型: 消息型響應(yīng),成功響應(yīng),重定向,客戶端錯誤和服務(wù)器錯誤。
CSP 指令
Content-Security-Policy 響應(yīng)頭字段允許站點的管理者控制頁面上哪些資源能夠被用戶代理程序加載。除了少數(shù)例外,此策略主要涉及源服務(wù)器和腳本終端。
工具與資源
有助于理解和調(diào)試 HTTP 連接的工具和資源。
Firefox 開發(fā)者工具
網(wǎng)絡(luò)監(jiān)視器
RedBot
用于檢查 Cache 相關(guān)的 HTTP 頭的工具。