目錄
HTTP 的請求-響應
HTTP 方法
HTTP 狀態碼
HTTP 版本
安全性
HTTP/HTTPS 簡介
HTTP
HTTPS
HTTP 工作原理
HTTPS 作用
HTTP 與 HTTPS 區別
HTTP 消息結構
客戶端請求消息
服務器響應消息
實例
HTTP 請求方法
各個版本定義的請求方法
HTTP/1.0
HTTP/1.1
HTTP/2
HTTP/3
HTTP 響應頭信息
HTTP 狀態碼
HTTP 狀態碼分類
HTTP content-type
HTTP content-type 對照表
MIME 類型
語法
常見的 MIME 類型
MIME 對照表
按照內容類型排列的 MIME 類型列表
按照文件擴展名排列的 MIME 類型列表
HTTP2
HTTP/2 特點
HTTP(超文本傳輸協議,HyperText Transfer Protocol)是一種用于分布式、協作式、超媒體信息系統的應用層協議。
HTTP 是萬維網(WWW)的數據通信的基礎,設計目的是確保客戶端與服務器之間的通信,是互聯網上最常用的協議之一。
HTTP 是一個基于 TCP/IP 通信協議來傳遞數據的(HTML 文件、圖片文件、查詢結果等)。
設計 HTTP 最初的目的是為了提供一種發布和接收 HTML 頁面的方法,通過 HTTP 或者 HTTPS 協議請求的資源由統一資源標識符(Uniform Resource Identifiers,URI)來標識。
HTTP 的請求-響應
HTTP 的基本工作原理是客戶端(通常是 web 瀏覽器)向服務器發送請求,服務器接收到請求后,返回相應的資源。這些資源可以是網頁、圖像、音頻文件、視頻等。
HTTP 使用了客戶端-服務器模型,其中客戶端發送請求,服務器返回響應。
HTTP 的請求-響應模型通常由以下幾個步驟組成:
-
建立連接:客戶端與服務器之間建立連接。在傳統的 HTTP 中,這是基于 TCP/IP 協議的。最近的 HTTP/2 和 HTTP/3 則使用了更先進的傳輸層協議,例如基于 TCP 的二進制協議(HTTP/2)或基于 UDP 的 QUIC 協議(HTTP/3)。
-
發送請求:客戶端向服務器發送請求,請求中包含要訪問的資源的 URL、請求方法(GET、POST、PUT、DELETE 等)、請求頭(例如,Accept、User-Agent)以及可選的請求體(對于 POST 或 PUT 請求)。
-
處理請求:服務器接收到請求后,根據請求中的信息找到相應的資源,執行相應的處理操作。這可能涉及從數據庫中檢索數據、生成動態內容或者簡單地返回靜態文件。
-
發送響應:服務器將處理后的結果封裝在響應中,并將其發送回客戶端。響應包含狀態碼(用于指示請求的成功或失敗)、響應頭(例如,Content-Type、Content-Length)以及可選的響應體(例如,HTML 頁面、圖像數據)。
-
關閉連接:在完成請求-響應周期后,客戶端和服務器之間的連接可以被關閉,除非使用了持久連接(如 HTTP/1.1 中的 keep-alive)。
HTTP 方法
HTTP 方法指定了客戶端可以對服務器上的資源執行哪些動作。
主要的HTTP方法有:
- GET:請求從服務器獲取指定資源。這是最常用的方法,用于訪問頁面。
- POST:請求服務器接受并處理請求體中的數據,通常用于表單提交。
- PUT:請求服務器存儲一個資源,并用請求體中的內容替換目標資源的所有內容。
- DELETE:請求服務器刪除指定的資源。
- HEAD:與 GET 類似,但不獲取資源的內容,只獲取響應頭信息。
HTTP 狀態碼
HTTP狀態碼是服務器對客戶端請求的響應。
狀態碼分為五類:
- 1xx(信息性狀態碼):表示接收的請求正在處理。
- 2xx(成功狀態碼):表示請求正常處理完畢。
- 3xx(重定向狀態碼):需要后續操作才能完成這一請求。
- 4xx(客戶端錯誤狀態碼):表示請求包含語法錯誤或無法完成。
- 5xx(服務器錯誤狀態碼):服務器在處理請求的過程中發生了錯誤。
HTTP 版本
HTTP 有多個版本,目前廣泛使用的是 HTTP/1.1 和 HTTP/2,以及正在逐步推廣的 HTTP/3。
- HTTP/1.1:支持持久連接,允許多個請求/響應通過同一個 TCP 連接傳輸,減少了建立和關閉連接的消耗。
- HTTP/2:基于二進制分幀,支持多路復用,允許同時通過單一的 HTTP/2 連接發起多重的、獨立的、雙向的交流。
- HTTP/3:基于 QUIC 協議,旨在減少網絡延遲,提高傳輸速度和安全性。
安全性
HTTP 本身是不安全的,因為傳輸的數據未經加密,可能會被竊聽或篡改。為了解決這個問題,引入了 HTTPS(下一章節會詳細說明),即在 HTTP 上加入 SSL/TLS 協議,為數據傳輸提供了加密和身份驗證。
HTTP/HTTPS 簡介
HTTP(超文本傳輸協議,Hypertext Transfer Protocol)是一種用于從網絡傳輸超文本到本地瀏覽器的傳輸協議。它定義了客戶端與服務器之間請求和響應的格式。HTTP 工作在 TCP/IP 模型之上,通常使用端口?80。
HTTPS(超文本傳輸安全協議,Hypertext Transfer Protocol Secure)是 HTTP 的安全版本,它在 HTTP 下增加了 SSL/TLS 協議,提供了數據加密、完整性校驗和身份驗證。HTTPS 通常使用端口?443。
HTTP
HTTP 協議是 Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用于從萬維網( WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。
HTTP 是一個基于 TCP/IP 通信協議來傳遞數據(HTML 文件、圖片文件、查詢結果等)。
HTTPS
HTTPS 協議是 HyperText Transfer Protocol Secure(超文本傳輸安全協議)的縮寫,是一種通過計算機網絡進行安全通信的傳輸協議。
HTTP 本身是不安全的,因為傳輸的數據未經加密,可能會被竊聽或篡改,為了解決這個問題,引入了 HTTPS,即在 HTTP 上加入 SSL/TLS 協議,為數據傳輸提供了加密和身份驗證。
HTTPS 經由 HTTP 進行通信,但利用 SSL/TLS 來加密數據包,HTTPS 開發的主要目的,是提供對網站服務器的身份認證,保護交換資料的隱私與完整性。
HTTP 的 URL 是由?http://?起始與默認使用端口?80,而 HTTPS 的 URL 則是由?https://?起始與默認使用端口443。
HTTP 工作原理
HTTP 協議工作于客戶端-服務端架構上。
HTTP 工作過程通常如下:
- 客戶端發起請求:用戶通過客戶端(如瀏覽器)輸入 URL,客戶端向服務器發起一個 HTTP 請求。
- 服務器處理請求:服務器接收到請求后,根據請求的類型(如GET、POST等)和請求的資源,進行相應的處理。
- 服務器返回響應:服務器將處理結果包裝成HTTP響應消息,發送回客戶端。
- 客戶端渲染頁面:客戶端接收到響應后,根據響應內容(如HTML、圖片等)渲染頁面,展示給用戶。
Web 服務器有:Nginx 服務器,Apache 服務器,IIS 服務器(Internet Information Services)等。
HTTP 默認端口號為 80,但是你也可以改為 8080 或者其他端口。
HTTP 三點注意事項:
-
HTTP 是無連接:無連接的含義是限制每次連接只處理一個請求,服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接,采用這種方式可以節省傳輸時間。
-
HTTP 是媒體獨立的:這意味著,只要客戶端和服務器知道如何處理的數據內容,任何類型的數據都可以通過HTTP發送,客戶端以及服務器指定使用適合的 MIME-type 內容類型。
-
HTTP 是無狀態:HTTP 協議是無狀態協議,無狀態是指協議對于事務處理沒有記憶能力,缺少狀態意味著如果后續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大,另一方面,在服務器不需要先前信息時它的應答就較快。
以下圖表展示了 HTTP 協議通信流程:
HTTPS 作用
HTTPS 的主要作用是在不安全的網絡上創建一個安全信道,并可在使用適當的加密包和服務器證書可被驗證且可被信任時,對竊聽和中間人攻擊提供合理的防護。
HTTPS 的信任基于預先安裝在操作系統中的證書頒發機構(CA)。
因此,與一個網站之間的 HTTPS 連線僅在這些情況下可被信任:
- 瀏覽器正確地實現了 HTTPS 且操作系統中安裝了正確且受信任的證書頒發機構;
- 證書頒發機構僅信任合法的網站;
- 被訪問的網站提供了一個有效的證書,也就是說它是一個由操作系統信任的證書頒發機構簽發的(大部分瀏覽器會對無效的證書發出警告);
- 該證書正確地驗證了被訪問的網站(例如,訪問?https://www.runoob.com?時收到了簽發給 www.runoob.com 而不是其它域名的證書);
- 此協議的加密層(SSL/TLS)能夠有效地提供認證和高強度的加密。
Google Chrome、Internet Explorer 和 Firefox 等瀏覽器在網站含有由加密和未加密內容組成的混合內容時,會發出警告。
HTTP 與 HTTPS 區別
雖然 HTTP 和 HTTPS 在名稱上非常相似,但它們在安全性上有本質的區別:HTTPS通過使用SSL/TLS協議,為數據傳輸提供了加密和完整性校驗,從而保護了用戶的隱私和數據安全。隨著網絡安全意識的提高,越來越多的網站開始使用HTTPS來保護用戶數據。
同時,主流的瀏覽器和搜索引擎也在鼓勵網站使用 HTTPS。
因此,對于涉及敏感信息傳輸的網站,建議使用 HTTPS 來提高安全性。
主要區別如下:
-
加密:
- HTTP:數據傳輸過程中不加密,容易被截獲和篡改。
- HTTPS:使用SSL/TLS協議對傳輸的數據進行加密,保護數據傳輸過程中的安全性。
-
端口:
- HTTP:默認使用端口80。
- HTTPS:默認使用端口443。
-
安全性:
- HTTP:不提供數據加密,安全性較低。
- HTTPS:提供數據加密和完整性校驗,安全性較高。
-
證書:
- HTTP:不需要證書。
- HTTPS:需要SSL證書來啟用加密,并驗證服務器的身份。
-
性能:
- HTTP:由于不加密數據,性能略高于HTTPS。
- HTTPS:由于需要進行加密和解密,可能會有一定的性能開銷。
-
搜索引擎優化(SEO):
- HTTP:搜索引擎可能會對沒有使用HTTPS的網站進行降權。
- HTTPS:搜索引擎傾向于優先索引和展示使用HTTPS的網站。
-
瀏覽器顯示:
- HTTP:在大多數現代瀏覽器中,HTTP網站通常顯示為"不安全"。
- HTTPS:瀏覽器會顯示一個鎖形圖標,表示網站是安全的。
-
成本:
- HTTP:通常免費。
- HTTPS:需要購買SSL證書,可能會有一定的成本。
-
應用場景:
- HTTP:適用于不需要傳輸敏感信息的網站,如新聞網站、博客等。
- HTTPS:適用于需要傳輸敏感信息的網站,如網上銀行、在線購物、電子郵件等。
HTTP 消息結構
HTTP 是基于客戶端/服務端(C/S)的架構模型,通過一個可靠的鏈接來交換信息,是一個無狀態的請求/響應協議。
HTTP 消息是客戶端和服務器之間通信的基礎,它們由一系列的文本行組成,遵循特定的格式和結構。
HTTP消息分為兩種類型:請求消息和響應消息。
一個 HTTP 客戶端是一個應用程序(Web 瀏覽器或其他任何客戶端),通過連接到服務器達到向服務器發送一個或多個 HTTP 的請求的目的。
一個 HTTP 服務器 同樣也是一個應用程序(通常是一個 Web 服務,如 Nginx、Apache 服務器或 IIS 服務器等),通過接收客戶端的請求并向客戶端發送 HTTP 響應數據。
客戶端請求消息
客戶端發送一個HTTP請求到服務器的請求消息包括以下格式:請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成,下圖給出了請求報文的一般格式。
-
請求行(Request Line):
- 方法:如 GET、POST、PUT、DELETE等,指定要執行的操作。
- 請求 URI(統一資源標識符):請求的資源路徑,通常包括主機名、端口號(如果非默認)、路徑和查詢字符串。
- HTTP 版本:如 HTTP/1.1 或 HTTP/2。
請求行的格式示例:
GET /index.html HTTP/1.1
-
請求頭(Request Headers):
- 包含了客戶端環境信息、請求體的大小(如果有)、客戶端支持的壓縮類型等。
- 常見的請求頭包括
Host
、User-Agent
、Accept
、Accept-Encoding
、Content-Length
等。
-
空行:
- 請求頭和請求體之間的分隔符,表示請求頭的結束。
-
請求體(可選):
- 在某些類型的HTTP請求(如 POST 和 PUT)中,請求體包含要發送給服務器的數據。
服務器響應消息
HTTP 響應也由四個部分組成,分別是:狀態行、消息報頭、空行和響應正文。
-
狀態行(Status Line):
- HTTP 版本:與請求消息中的版本相匹配。
- 狀態碼:三位數,表示請求的處理結果,如 200 表示成功,404 表示未找到資源。
- 狀態信息:狀態碼的簡短描述。
狀態行的格式示例:
HTTP/1.1 200 OK
-
響應頭(Response Headers):
- 包含了服務器環境信息、響應體的大小、服務器支持的壓縮類型等。
- 常見的響應頭包括
Content-Type
、Content-Length
、Server
、Set-Cookie
等。
-
空行:
- 響應頭和響應體之間的分隔符,表示響應頭的結束。
-
響應體(可選):
- 包含服務器返回的數據,如請求的網頁內容、圖片、JSON數據等。
實例
下面實例是一點典型的使用 GET 來傳遞數據的實例:
客戶端請求:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Connection: keep-alive
服務端響應:
HTTP/1.1 200 OK
Date: Wed, 18 Apr 2024 12:00:00 GMT
Server: Apache/2.4.1 (Unix)
Last-Modified: Wed, 18 Apr 2024 11:00:00 GMT
Content-Length: 12345
Content-Type: text/html; charset=UTF-8<!DOCTYPE html>
<html>
<head><title>Example Page</title>
</head>
<body><h1>Hello, World!</h1><!-- The rest of the HTML content -->
</body>
</html>
在實際應用中,HTTP 消息可以包含更多的頭字段,并且請求體和響應體的大小會根據傳輸的數據而變化。
HTTP 請求方法
HTTP 請求方法定義了客戶端和服務器之間的通信方式。
根據 HTTP 標準,HTTP 請求可以使用多種請求方法。
以下是常見的 HTTP 請求方法列表:
序號 | 方法 | 描述 |
---|---|---|
1 | GET | 從服務器獲取資源。用于請求數據而不對數據進行更改。例如,從服務器獲取網頁、圖片等。 |
2 | POST | 向服務器發送數據以創建新資源。常用于提交表單數據或上傳文件。發送的數據包含在請求體中。 |
3 | PUT | 向服務器發送數據以更新現有資源。如果資源不存在,則創建新的資源。與 POST 不同,PUT 通常是冪等的,即多次執行相同的 PUT 請求不會產生不同的結果。 |
4 | DELETE | 從服務器刪除指定的資源。請求中包含要刪除的資源標識符。 |
5 | PATCH | 對資源進行部分修改。與 PUT 類似,但 PATCH 只更改部分數據而不是替換整個資源。 |
6 | HEAD | 類似于 GET,但服務器只返回響應的頭部,不返回實際數據。用于檢查資源的元數據(例如,檢查資源是否存在,查看響應的頭部信息)。 |
7 | OPTIONS | 返回服務器支持的 HTTP 方法。用于檢查服務器支持哪些請求方法,通常用于跨域資源共享(CORS)的預檢請求。 |
8 | TRACE | 回顯服務器收到的請求,主要用于診斷。客戶端可以查看請求在服務器中的處理路徑。 |
9 | CONNECT | 建立一個到服務器的隧道,通常用于 HTTPS 連接。客戶端可以通過該隧道發送加密的數據。 |
各個版本定義的請求方法
HTTP/1.0
HTTP/1.0 定義了以下三種請求方法:
- GET?- 請求指定的資源。
- POST?- 提交數據以處理請求。
- HEAD?- 請求資源的響應頭信息。
HTTP/1.1
HTTP/1.1 引入了更多的方法:
- GET?- 請求指定的資源。
- POST?- 提交數據以處理請求。
- HEAD?- 請求資源的響應頭信息。
- PUT?- 上傳文件或者更新資源。
- DELETE?- 刪除指定的資源。
- OPTIONS?- 請求獲取服務器支持的請求方法。
- TRACE?- 回顯服務器收到的請求,主要用于診斷。
- CONNECT?- 建立一個隧道用于代理服務器的通信,通常用于 HTTPS。
HTTP/2
HTTP/2 基本上沿用了 HTTP/1.1 的方法,但對協議進行了優化,提高了傳輸效率和速度。HTTP/2 也引入了新的特性,如多路復用、頭部壓縮和服務器推送等。
HTTP/3
HTTP/3 基于 QUIC 協議實現,繼續使用 HTTP/2 的方法。HTTP/3 主要改進了傳輸層,使用 UDP 代替 TCP 以提高傳輸速度和可靠性。
HTTP 響應頭信息
HTTP 響應頭信息是服務器在響應客戶端的HTTP請求時發送的一系列頭字段,它們提供了關于響應的附加信息和服務器的指令。
以下是一些常見的 HTTP 響應頭信息:
響應頭信息(英文) | 響應頭信息(中文) | 描述 |
---|---|---|
Date | 日期 | 響應生成的日期和時間。例如:Wed, 18 Apr 2024 12:00:00 GMT |
Server | 服務器 | 服務器軟件的名稱和版本。例如:Apache/2.4.1 (Unix) |
Content-Type | 內容類型 | 響應體的媒體類型(MIME類型),如text/html; charset=UTF-8 ,?application/json 等。 |
Content-Length | 內容長度 | 響應體的大小,單位是字節。例如:3145 |
Content-Encoding | 內容編碼 | 響應體的壓縮編碼,如?gzip ,?deflate 等。 |
Content-Language | 內容語言 | 響應體的語言。例如:zh-CN |
Content-Location | 內容位置 | 響應體的 URI。例如:/index.html |
Content-Range | 內容范圍 | 響應體的字節范圍,用于分塊傳輸。例如:bytes 0-999/8000 |
Cache-Control | 緩存控制 | 控制響應的緩存行為, 如 no-cache 表示必須重新請求。 |
Connection | 連接 | 管理連接的選項,如keep-alive 或close ,keep-alive 表示連接不會在傳輸后關閉。。 |
Set-Cookie | 設置 Cookie | 設置客戶端的 cookie。例如:sessionId=abc123; Path=/; Secure |
Expires | 過期時間 | 響應體的過期日期和時間。例如:Thu, 18 Apr 2024 12:00:00 GMT |
Last-Modified | 最后修改時間 | 資源最后被修改的日期和時間。例如:Wed, 18 Apr 2024 11:00:00 GMT |
ETag | 實體標簽 | 資源的特定版本的標識符。例如:"33a64df551425fcc55e6" |
Location | 位置 | 用于重定向的 URI。例如:/newresource |
Pragma | 實現特定的指令 | 包含實現特定的指令,如?no-cache 。 |
WWW-Authenticate | 認證信息 | 認證信息,通常用于HTTP認證。例如:Basic realm="Access to the site" |
Accept-Ranges | 接受范圍 | 指定可接受的請求范圍類型。例如:bytes |
Age | 經過時間 | 響應生成后經過的秒數,從原始服務器生成到代理服務器。例如:24 |
Allow | 允許方法 | 列出資源允許的 HTTP 方法 。例如:GET, POST,HEAD等 |
Vary | 變化 | 告訴下游代理如何使用響應頭信息來確定響應是否可以從緩存中獲取。例如:Accept |
Strict-Transport-Security | 嚴格傳輸安全 | 指示瀏覽器僅通過 HTTPS 與服務器通信。例如:max-age=31536000; includeSubDomains |
X-Frame-Options | 框架選項 | 控制頁面是否允許在框架中顯示,防止點擊劫持攻擊。例如:SAMEORIGIN |
X-Content-Type-Options | 內容類型選項 | 指示瀏覽器不要嘗試猜測資源的 MIME 類型。例如:nosniff |
X-XSS-Protection | XSS保護 | 控制瀏覽器的 XSS 過濾和阻斷。例如:1; mode=block |
Public-Key-Pins | 公鑰固定 | HTTP 頭信息,用于HTTP公共密鑰固定(HPKP),一種安全機制,用于防止中間人攻擊。例如:pin-sha256="base64+primarykey"; pin-sha256="base64+backupkey"; max-age=expireTime |
這些響應頭信息在實際的 HTTP 響應中可能會有所不同,具體值取決于服務器的配置和處理邏輯。
HTTP 狀態碼
當瀏覽者訪問一個網頁時,瀏覽者的瀏覽器會向網頁所在服務器發出請求。當瀏覽器接收并顯示網頁前,此網頁所在的服務器會返回一個包含 HTTP 狀態碼的信息頭(server header)用以響應瀏覽器的請求。
HTTP 狀態碼的英文為?HTTP Status Code。
下面是常見的 HTTP 狀態碼:
- 1xx(信息性狀態碼):表示接收的請求正在處理。
- 2xx(成功狀態碼):表示請求正常處理完畢。
- 3xx(重定向狀態碼):需要后續操作才能完成這一請求。
- 4xx(客戶端錯誤狀態碼):表示請求包含語法錯誤或無法完成。
- 5xx(服務器錯誤狀態碼):服務器在處理請求的過程中發生了錯誤。
HTTP 狀態碼分類
HTTP 狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型。響應分為五類:信息響應(100–199),成功響應(200–299),重定向(300–399),客戶端錯誤(400–499)和服務器錯誤 (500–599):
分類 | 分類描述 |
---|---|
1** | 信息,服務器收到請求,需要請求者繼續執行操作 |
2** | 成功,操作被成功接收并處理 |
3** | 重定向,需要進一步的操作以完成請求 |
4** | 客戶端錯誤,請求包含語法錯誤或無法完成請求 |
5** | 服務器錯誤,服務器在處理請求的過程中發生了錯誤 |
HTTP狀態碼列表:
狀態碼 | 狀態碼英文名稱 | 中文描述 |
---|---|---|
100 | Continue | 繼續。客戶端應繼續其請求 |
101 | Switching Protocols | 切換協議。服務器根據客戶端的請求切換協議。只能切換到更高級的協議,例如,切換到HTTP的新版本協議 |
200 | OK | 請求成功。一般用于GET與POST請求 |
201 | Created | 已創建。成功請求并創建了新的資源 |
202 | Accepted | 已接受。已經接受請求,但未處理完成 |
203 | Non-Authoritative Information | 非授權信息。請求成功。但返回的meta信息不在原始的服務器,而是一個副本 |
204 | No Content | 無內容。服務器成功處理,但未返回內容。在未更新網頁的情況下,可確保瀏覽器繼續顯示當前文檔 |
205 | Reset Content | 重置內容。服務器處理成功,用戶終端(例如:瀏覽器)應重置文檔視圖。可通過此返回碼清除瀏覽器的表單域 |
206 | Partial Content | 部分內容。服務器成功處理了部分GET請求 |
300 | Multiple Choices | 多種選擇。請求的資源可包括多個位置,相應可返回一個資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇 |
301 | Moved Permanently | 永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。今后任何新的請求都應使用新的URI代替 |
302 | Found | 臨時移動。與301類似。但資源只是臨時被移動。客戶端應繼續使用原有URI |
303 | See Other | 查看其它地址。與301類似。使用GET和POST請求查看 |
304 | Not Modified | 未修改。所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源。客戶端通常會緩存訪問過的資源,通過提供一個頭信息指出客戶端希望只返回在指定日期之后修改的資源 |
305 | Use Proxy | 使用代理。所請求的資源必須通過代理訪問 |
306 | Unused | 已經被廢棄的HTTP狀態碼 |
307 | Temporary Redirect | 臨時重定向。與302類似。使用GET請求重定向 |
400 | Bad Request | 客戶端請求的語法錯誤,服務器無法理解 |
401 | Unauthorized | 請求要求用戶的身份認證 |
402 | Payment Required | 保留,將來使用 |
403 | Forbidden | 服務器理解請求客戶端的請求,但是拒絕執行此請求 |
404 | Not Found | 服務器無法根據客戶端的請求找到資源(網頁)。通過此代碼,網站設計人員可設置"您所請求的資源無法找到"的個性頁面 |
405 | Method Not Allowed | 客戶端請求中的方法被禁止 |
406 | Not Acceptable | 服務器無法根據客戶端請求的內容特性完成請求 |
407 | Proxy Authentication Required | 請求要求代理的身份認證,與401類似,但請求者應當使用代理進行授權 |
408 | Request Time-out | 服務器等待客戶端發送的請求時間過長,超時 |
409 | Conflict | 服務器完成客戶端的 PUT 請求時可能返回此代碼,服務器處理請求時發生了沖突 |
410 | Gone | 客戶端請求的資源已經不存在。410不同于404,如果資源以前有現在被永久刪除了可使用410代碼,網站設計人員可通過301代碼指定資源的新位置 |
411 | Length Required | 服務器無法處理客戶端發送的不帶Content-Length的請求信息 |
412 | Precondition Failed | 客戶端請求信息的先決條件錯誤 |
413 | Request Entity Too Large | 由于請求的實體過大,服務器無法處理,因此拒絕請求。為防止客戶端的連續請求,服務器可能會關閉連接。如果只是服務器暫時無法處理,則會包含一個Retry-After的響應信息 |
414 | Request-URI Too Large | 請求的URI過長(URI通常為網址),服務器無法處理 |
415 | Unsupported Media Type | 服務器無法處理請求附帶的媒體格式 |
416 | Requested range not satisfiable | 客戶端請求的范圍無效 |
417 | Expectation Failed(預期失敗) | 服務器無法滿足請求頭中 Expect 字段指定的預期行為。 |
418 | I'm a teapot | 狀態碼 418 實際上是一個愚人節玩笑。它在 RFC 2324 中定義,該 RFC 是一個關于超文本咖啡壺控制協議(HTCPCP)的笑話文件。在這個笑話中,418 狀態碼是作為一個玩笑加入到 HTTP 協議中的。 |
500 | Internal Server Error | 服務器內部錯誤,無法完成請求 |
501 | Not Implemented | 服務器不支持請求的功能,無法完成請求 |
502 | Bad Gateway | 作為網關或者代理工作的服務器嘗試執行請求時,從遠程服務器接收到了一個無效的響應 |
503 | Service Unavailable | 由于超載或系統維護,服務器暫時的無法處理客戶端的請求。延時的長度可包含在服務器的Retry-After頭信息中 |
504 | Gateway Time-out | 充當網關或代理的服務器,未及時從遠端服務器獲取請求 |
505 | HTTP Version not supported | 服務器不支持請求的HTTP協議的版本,無法完成處理 |
HTTP content-type
Content-Type(內容類型),一般是指網頁中存在的 Content-Type,用于定義網絡文件的類型和網頁的編碼,決定瀏覽器將以什么形式、什么編碼讀取這個文件,這就是經常看到一些 PHP 網頁點擊的結果卻是下載一個文件或一張圖片的原因。
Content-Type 標頭告訴客戶端實際返回的內容的內容類型。
語法格式:
Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something
實例:
常見的媒體格式類型如下:
- text/html : HTML格式
- text/plain :純文本格式
- text/xml : XML格式
- image/gif :gif圖片格式
- image/jpeg :jpg圖片格式
- image/png:png圖片格式
以application開頭的媒體格式類型:
- application/xhtml+xml :XHTML格式
- application/xml: XML數據格式
- application/atom+xml :Atom XML聚合格式
- application/json: JSON數據格式
- application/pdf:pdf格式
- application/msword : Word文檔格式
- application/octet-stream : 二進制流數據(如常見的文件下載)
- application/x-www-form-urlencoded : <form encType=””>中默認的encType,form表單數據被編碼為key/value格式發送到服務器(表單默認的提交數據的格式)
另外一種常見的媒體格式是上傳文件之時使用的:
- multipart/form-data : 需要在表單中進行文件上傳時,就需要使用該格式
HTTP content-type 對照表
文件擴展名 | Content-Type(Mime-Type) | 文件擴展名 | Content-Type(Mime-Type) |
---|---|---|---|
.*( 二進制流,不知道下載文件類型) | application/octet-stream | .tif | image/tiff |
.001 | application/x-001 | .301 | application/x-301 |
.323 | text/h323 | .906 | application/x-906 |
.907 | drawing/907 | .a11 | application/x-a11 |
.acp | audio/x-mei-aac | .ai | application/postscript |
.aif | audio/aiff | .aifc | audio/aiff |
.aiff | audio/aiff | .anv | application/x-anv |
.asa | text/asa | .asf | video/x-ms-asf |
.asp | text/asp | .asx | video/x-ms-asf |
.au | audio/basic | .avi | video/avi |
.awf | application/vnd.adobe.workflow | .biz | text/xml |
.bmp | application/x-bmp | .bot | application/x-bot |
.c4t | application/x-c4t | .c90 | application/x-c90 |
.cal | application/x-cals | .cat | application/vnd.ms-pki.seccat |
.cdf | application/x-netcdf | .cdr | application/x-cdr |
.cel | application/x-cel | .cer | application/x-x509-ca-cert |
.cg4 | application/x-g4 | .cgm | application/x-cgm |
.cit | application/x-cit | .class | java/* |
.cml | text/xml | .cmp | application/x-cmp |
.cmx | application/x-cmx | .cot | application/x-cot |
.crl | application/pkix-crl | .crt | application/x-x509-ca-cert |
.csi | application/x-csi | .css | text/css |
.cut | application/x-cut | .dbf | application/x-dbf |
.dbm | application/x-dbm | .dbx | application/x-dbx |
.dcd | text/xml | .dcx | application/x-dcx |
.der | application/x-x509-ca-cert | .dgn | application/x-dgn |
.dib | application/x-dib | .dll | application/x-msdownload |
.doc | application/msword | .dot | application/msword |
.drw | application/x-drw | .dtd | text/xml |
.dwf | Model/vnd.dwf | .dwf | application/x-dwf |
.dwg | application/x-dwg | .dxb | application/x-dxb |
.dxf | application/x-dxf | .edn | application/vnd.adobe.edn |
.emf | application/x-emf | .eml | message/rfc822 |
.ent | text/xml | .epi | application/x-epi |
.eps | application/x-ps | .eps | application/postscript |
.etd | application/x-ebx | .exe | application/x-msdownload |
.fax | image/fax | .fdf | application/vnd.fdf |
.fif | application/fractals | .fo | text/xml |
.frm | application/x-frm | .g4 | application/x-g4 |
.gbr | application/x-gbr | . | application/x- |
.gif | image/gif | .gl2 | application/x-gl2 |
.gp4 | application/x-gp4 | .hgl | application/x-hgl |
.hmr | application/x-hmr | .hpg | application/x-hpgl |
.hpl | application/x-hpl | .hqx | application/mac-binhex40 |
.hrf | application/x-hrf | .hta | application/hta |
.htc | text/x-component | .htm | text/html |
.html | text/html | .htt | text/webviewhtml |
.htx | text/html | .icb | application/x-icb |
.ico | image/x-icon | .ico | application/x-ico |
.iff | application/x-iff | .ig4 | application/x-g4 |
.igs | application/x-igs | .iii | application/x-iphone |
.img | application/x-img | .ins | application/x-internet-signup |
.isp | application/x-internet-signup | .IVF | video/x-ivf |
.java | java/* | .jfif | image/jpeg |
.jpe | image/jpeg | .jpe | application/x-jpe |
.jpeg | image/jpeg | .jpg | image/jpeg |
.jpg | application/x-jpg | .js | application/x-javascript |
.jsp | text/html | .la1 | audio/x-liquid-file |
.lar | application/x-laplayer-reg | .latex | application/x-latex |
.lavs | audio/x-liquid-secure | .lbm | application/x-lbm |
.lmsff | audio/x-la-lms | .ls | application/x-javascript |
.ltr | application/x-ltr | .m1v | video/x-mpeg |
.m2v | video/x-mpeg | .m3u | audio/mpegurl |
.m4e | video/mpeg4 | .mac | application/x-mac |
.man | application/x-troff-man | .math | text/xml |
.mdb | application/msaccess | .mdb | application/x-mdb |
.mfp | application/x-shockwave-flash | .mht | message/rfc822 |
.mhtml | message/rfc822 | .mi | application/x-mi |
.mid | audio/mid | .midi | audio/mid |
.mil | application/x-mil | .mml | text/xml |
.mnd | audio/x-musicnet-download | .mns | audio/x-musicnet-stream |
.mocha | application/x-javascript | .movie | video/x-sgi-movie |
.mp1 | audio/mp1 | .mp2 | audio/mp2 |
.mp2v | video/mpeg | .mp3 | audio/mp3 |
.mp4 | video/mpeg4 | .mpa | video/x-mpg |
.mpd | application/vnd.ms-project | .mpe | video/x-mpeg |
.mpeg | video/mpg | .mpg | video/mpg |
.mpga | audio/rn-mpeg | .mpp | application/vnd.ms-project |
.mps | video/x-mpeg | .mpt | application/vnd.ms-project |
.mpv | video/mpg | .mpv2 | video/mpeg |
.mpw | application/vnd.ms-project | .mpx | application/vnd.ms-project |
.mtx | text/xml | .mxp | application/x-mmxp |
.net | image/pnetvue | .nrf | application/x-nrf |
.nws | message/rfc822 | .odc | text/x-ms-odc |
.out | application/x-out | .p10 | application/pkcs10 |
.p12 | application/x-pkcs12 | .p7b | application/x-pkcs7-certificates |
.p7c | application/pkcs7-mime | .p7m | application/pkcs7-mime |
.p7r | application/x-pkcs7-certreqresp | .p7s | application/pkcs7-signature |
.pc5 | application/x-pc5 | .pci | application/x-pci |
.pcl | application/x-pcl | .pcx | application/x-pcx |
application/pdf | application/pdf | ||
.pdx | application/vnd.adobe.pdx | .pfx | application/x-pkcs12 |
.pgl | application/x-pgl | .pic | application/x-pic |
.pko | application/vnd.ms-pki.pko | .pl | application/x-perl |
.plg | text/html | .pls | audio/scpls |
.plt | application/x-plt | .png | image/png |
.png | application/x-png | .pot | application/vnd.ms-powerpoint |
.ppa | application/vnd.ms-powerpoint | .ppm | application/x-ppm |
.pps | application/vnd.ms-powerpoint | .ppt | application/vnd.ms-powerpoint |
.ppt | application/x-ppt | .pr | application/x-pr |
.prf | application/pics-rules | .prn | application/x-prn |
.prt | application/x-prt | .ps | application/x-ps |
.ps | application/postscript | .ptn | application/x-ptn |
.pwz | application/vnd.ms-powerpoint | .r3t | text/vnd.rn-realtext3d |
.ra | audio/vnd.rn-realaudio | .ram | audio/x-pn-realaudio |
.ras | application/x-ras | .rat | application/rat-file |
.rdf | text/xml | .rec | application/vnd.rn-recording |
.red | application/x-red | .rgb | application/x-rgb |
.rjs | application/vnd.rn-realsystem-rjs | .rjt | application/vnd.rn-realsystem-rjt |
.rlc | application/x-rlc | .rle | application/x-rle |
.rm | application/vnd.rn-realmedia | .rmf | application/vnd.adobe.rmf |
.rmi | audio/mid | .rmj | application/vnd.rn-realsystem-rmj |
.rmm | audio/x-pn-realaudio | .rmp | application/vnd.rn-rn_music_package |
.rms | application/vnd.rn-realmedia-secure | .rmvb | application/vnd.rn-realmedia-vbr |
.rmx | application/vnd.rn-realsystem-rmx | .rnx | application/vnd.rn-realplayer |
.rp | image/vnd.rn-realpix | .rpm | audio/x-pn-realaudio-plugin |
.rsml | application/vnd.rn-rsml | .rt | text/vnd.rn-realtext |
.rtf | application/msword | .rtf | application/x-rtf |
.rv | video/vnd.rn-realvideo | .sam | application/x-sam |
.sat | application/x-sat | .sdp | application/sdp |
.sdw | application/x-sdw | .sit | application/x-stuffit |
.slb | application/x-slb | .sld | application/x-sld |
.slk | drawing/x-slk | .smi | application/smil |
.smil | application/smil | .smk | application/x-smk |
.snd | audio/basic | .sol | text/plain |
.sor | text/plain | .spc | application/x-pkcs7-certificates |
.spl | application/futuresplash | .spp | text/xml |
.ssm | application/streamingmedia | .sst | application/vnd.ms-pki.certstore |
.stl | application/vnd.ms-pki.stl | .stm | text/html |
.sty | application/x-sty | .svg | text/xml |
.swf | application/x-shockwave-flash | .tdf | application/x-tdf |
.tg4 | application/x-tg4 | .tga | application/x-tga |
.tif | image/tiff | .tif | application/x-tif |
.tiff | image/tiff | .tld | text/xml |
.top | drawing/x-top | .torrent | application/x-bittorrent |
.tsd | text/xml | .txt | text/plain |
.uin | application/x-icq | .uls | text/iuls |
.vcf | text/x-vcard | .vda | application/x-vda |
.vdx | application/vnd.visio | .vml | text/xml |
.vpg | application/x-vpeg005 | .vsd | application/vnd.visio |
.vsd | application/x-vsd | .vss | application/vnd.visio |
.vst | application/vnd.visio | .vst | application/x-vst |
.vsw | application/vnd.visio | .vsx | application/vnd.visio |
.vtx | application/vnd.visio | .vxml | text/xml |
.wav | audio/wav | .wax | audio/x-ms-wax |
.wb1 | application/x-wb1 | .wb2 | application/x-wb2 |
.wb3 | application/x-wb3 | .wbmp | image/vnd.wap.wbmp |
.wiz | application/msword | .wk3 | application/x-wk3 |
.wk4 | application/x-wk4 | .wkq | application/x-wkq |
.wks | application/x-wks | .wm | video/x-ms-wm |
.wma | audio/x-ms-wma | .wmd | application/x-ms-wmd |
.wmf | application/x-wmf | .wml | text/vnd.wap.wml |
.wmv | video/x-ms-wmv | .wmx | video/x-ms-wmx |
.wmz | application/x-ms-wmz | .wp6 | application/x-wp6 |
.wpd | application/x-wpd | .wpg | application/x-wpg |
.wpl | application/vnd.ms-wpl | .wq1 | application/x-wq1 |
.wr1 | application/x-wr1 | .wri | application/x-wri |
.wrk | application/x-wrk | .ws | application/x-ws |
.ws2 | application/x-ws | .wsc | text/scriptlet |
.wsdl | text/xml | .wvx | video/x-ms-wvx |
.xdp | application/vnd.adobe.xdp | .xdr | text/xml |
.xfd | application/vnd.adobe.xfd | .xfdf | application/vnd.adobe.xfdf |
.xhtml | text/html | .xls | application/vnd.ms-excel |
.xls | application/x-xls | .xlw | application/x-xlw |
.xml | text/xml | .xpl | audio/scpls |
.xq | text/xml | .xql | text/xml |
.xquery | text/xml | .xsd | text/xml |
.xsl | text/xml | .xslt | text/xml |
.xwd | application/x-xwd | .x_b | application/x-x_b |
.sis | application/vnd.symbian.install | .sisx | application/vnd.symbian.install |
.x_t | application/x-x_t | .ipa | application/vnd.iphone |
.apk | application/vnd.android.package-archive | .xap | application/x-silverlight-app |
MIME 類型
MIME (Multipurpose Internet Mail Extensions) 是描述消息內容類型的標準,用來表示文檔、文件或字節流的性質和格式。
MIME 消息能包含文本、圖像、音頻、視頻以及其他應用程序專用的數據。
瀏覽器通常使用 MIME 類型(而不是文件擴展名)來確定如何處理URL,因此 We b服務器在響應頭中添加正確的 MIME 類型非常重要。如果配置不正確,瀏覽器可能會無法解析文件內容,網站將無法正常工作,并且下載的文件也會被錯誤處理。
語法
MIME 類型通用結構:
type/subtype
MIME 的組成結構非常簡單,由類型與子類型兩個字符串中間用?/?分隔而組成,不允許有空格。type 表示可以被分多個子類的獨立類別,subtype 表示細分后的每個類型。
MIME類型對大小寫不敏感,但是傳統寫法都是小寫。
兩種主要的 MIME 類型在默認類型中扮演了重要的角色:
- text/plain?表示文本文件的默認值。
- application/octet-stream?表示所有其他情況的默認值。
常見的 MIME 類型
-
超文本標記語言文本?.html、.html:text/html
-
普通文本?.txt:?text/plain
-
RTF 文本?.rtf:?application/rtf
-
GIF 圖形?.gif:?image/gif
-
JPEG 圖形?.jpeg、.jpg:?image/jpeg
-
au 聲音文件?.au:?audio/basic
-
MIDI 音樂文件?mid、.midi:?audio/midi、audio/x-midi
-
RealAudio 音樂文件?.ra、.ram:?audio/x-pn-realaudio
-
MPEG 文件?.mpg、.mpeg:?video/mpeg
-
AVI 文件?.avi:?video/x-msvideo
-
GZIP 文件?.gz:?application/x-gzip
-
TAR 文件?.tar:?application/x-tar
類型 | 描述 | 典型示例 |
---|---|---|
text | 表明文件是普通文本,理論上是人類可讀 | text/plain ,?text/html ,?text/css, text/javascript |
image | 表明是某種圖像。不包括視頻,但是動態圖(比如動態gif)也使用image類型 | image/gif ,?image/png ,?image/jpeg ,?image/bmp ,?image/webp ,?image/x-icon ,?image/vnd.microsoft.icon |
audio | 表明是某種音頻文件 | audio/midi ,?audio/mpeg, audio/webm, audio/ogg, audio/wav |
video | 表明是某種視頻文件 | video/webm ,?video/ogg |
application | 表明是某種二進制數據 |
|
MIME 對照表
媒體類型 | 文件擴展名 | 說明 |
---|---|---|
application/msword | doc | 微軟 Office Word 格式(Microsoft Word 97 - 2004 document) |
application/vnd.openxmlformats-officedocument.wordprocessingml.document | docx | 微軟 Office Word 文檔格式 |
application/vnd.ms-excel | xls | 微軟 Office Excel 格式(Microsoft Excel 97 - 2004 Workbook |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | xlsx | 微軟 Office Excel 文檔格式 |
application/vnd.ms-powerpoint | ppt | 微軟 Office PowerPoint 格式(Microsoft PowerPoint 97 - 2003 演示文稿) |
application/vnd.openxmlformats-officedocument.presentationml.presentation | pptx | 微軟 Office PowerPoint 文稿格式 |
application/x-gzip | gz, gzip | GZ 壓縮文件格式 |
application/zip | zip, 7zip | ZIP 壓縮文件格式 |
application/rar | rar | RAR 壓縮文件格式 |
application/x-tar | tar, tgz | TAR 壓縮文件格式 |
application/pdf | PDF 是 Portable Document Format 的簡稱,即便攜式文檔格式 | |
application/rtf | rtf | RTF 是指 Rich Text Format,即通常所說的富文本格式 |
image/gif | gif | GIF 圖像格式 |
image/jpeg | jpg, jpeg | JPG(JPEG) 圖像格式 |
image/jp2 | jpg2 | JPG2 圖像格式 |
image/png | png | PNG 圖像格式 |
image/tiff | tif, tiff | TIF(TIFF) 圖像格式 |
image/bmp | bmp | BMP 圖像格式(位圖格式) |
image/svg+xml | svg, svgz | SVG 圖像格式 |
image/webp | webp | WebP 圖像格式 |
image/x-icon | ico | ico 圖像格式,通常用于瀏覽器 Favicon 圖標 |
application/kswps | wps | 金山 Office 文字排版文件格式 |
application/kset | et | 金山 Office 表格文件格式 |
application/ksdps | dps | 金山 Office 演示文稿格式 |
application/x-photoshop | psd | Photoshop 源文件格式 |
application/x-coreldraw | cdr | Coreldraw 源文件格式 |
application/x-shockwave-flash | swf | Adobe Flash 源文件格式 |
text/plain | txt | 普通文本格式 |
application/x-javascript | js | Javascript 文件類型 |
text/javascript | js | 表示 Javascript 腳本文件 |
text/css | css | 表示 CSS 樣式表 |
text/html | htm, html, shtml | HTML 文件格式 |
application/xhtml+xml | xht, xhtml | XHTML 文件格式 |
text/xml | xml | XML 文件格式 |
text/x-vcard | vcf | VCF 文件格式 |
application/x-httpd-php | php, php3, php4, phtml | PHP 文件格式 |
application/java-archive | jar | Java 歸檔文件格式 |
application/vnd.android.package-archive | apk | Android 平臺包文件格式 |
application/octet-stream | exe | Windows 系統可執行文件格式 |
application/x-x509-user-cert | crt, pem | PEM 文件格式 |
audio/mpeg | mp3 | mpeg 音頻格式 |
audio/midi | mid, midi | mid 音頻格式 |
audio/x-wav | wav | wav 音頻格式 |
audio/x-mpegurl | m3u | m3u 音頻格式 |
audio/x-m4a | m4a | m4a 音頻格式 |
audio/ogg | ogg | ogg 音頻格式 |
audio/x-realaudio | ra | Real Audio 音頻格式 |
video/mp4 | mp4 | mp4 視頻格式 |
video/mpeg | mpg, mpe, mpeg | mpeg 視頻格式 |
video/quicktime | qt, mov | QuickTime 視頻格式 |
video/x-m4v | m4v | m4v 視頻格式 |
video/x-ms-wmv | wmv | wmv 視頻格式(Windows 操作系統上的一種視頻格式) |
video/x-msvideo | avi | avi 視頻格式 |
video/webm | webm | webm 視頻格式 |
video/x-flv | flv | 一種基于 flash 技術的視頻格式 |
按照內容類型排列的 MIME 類型列表
類型/子類型 | 擴展名 |
---|---|
application/envoy | evy |
application/fractals | fif |
application/futuresplash | spl |
application/hta | hta |
application/internet-property-stream | acx |
application/mac-binhex40 | hqx |
application/msword | doc |
application/msword | dot |
application/octet-stream | * |
application/octet-stream | bin |
application/octet-stream | class |
application/octet-stream | dms |
application/octet-stream | exe |
application/octet-stream | lha |
application/octet-stream | lzh |
application/oda | oda |
application/olescript | axs |
application/pdf | |
application/pics-rules | prf |
application/pkcs10 | p10 |
application/pkix-crl | crl |
application/postscript | ai |
application/postscript | eps |
application/postscript | ps |
application/rtf | rtf |
application/set-payment-initiation | setpay |
application/set-registration-initiation | setreg |
application/vnd.ms-excel | xla |
application/vnd.ms-excel | xlc |
application/vnd.ms-excel | xlm |
application/vnd.ms-excel | xls |
application/vnd.ms-excel | xlt |
application/vnd.ms-excel | xlw |
application/vnd.ms-outlook | msg |
application/vnd.ms-pkicertstore | sst |
application/vnd.ms-pkiseccat | cat |
application/vnd.ms-pkistl | stl |
application/vnd.ms-powerpoint | pot |
application/vnd.ms-powerpoint | pps |
application/vnd.ms-powerpoint | ppt |
application/vnd.ms-project | mpp |
application/vnd.ms-works | wcm |
application/vnd.ms-works | wdb |
application/vnd.ms-works | wks |
application/vnd.ms-works | wps |
application/winhlp | hlp |
application/x-bcpio | bcpio |
application/x-cdf | cdf |
application/x-compress | z |
application/x-compressed | tgz |
application/x-cpio | cpio |
application/x-csh | csh |
application/x-director | dcr |
application/x-director | dir |
application/x-director | dxr |
application/x-dvi | dvi |
application/x-gtar | gtar |
application/x-gzip | gz |
application/x-hdf | hdf |
application/x-internet-signup | ins |
application/x-internet-signup | isp |
application/x-iphone | iii |
application/x-javascript | js |
application/x-latex | latex |
application/x-msaccess | mdb |
application/x-mscardfile | crd |
application/x-msclip | clp |
application/x-msdownload | dll |
application/x-msmediaview | m13 |
application/x-msmediaview | m14 |
application/x-msmediaview | mvb |
application/x-msmetafile | wmf |
application/x-msmoney | mny |
application/x-mspublisher | pub |
application/x-msschedule | scd |
application/x-msterminal | trm |
application/x-mswrite | wri |
application/x-netcdf | cdf |
application/x-netcdf | nc |
application/x-perfmon | pma |
application/x-perfmon | pmc |
application/x-perfmon | pml |
application/x-perfmon | pmr |
application/x-perfmon | pmw |
application/x-pkcs12 | p12 |
application/x-pkcs12 | pfx |
application/x-pkcs7-certificates | p7b |
application/x-pkcs7-certificates | spc |
application/x-pkcs7-certreqresp | p7r |
application/x-pkcs7-mime | p7c |
application/x-pkcs7-mime | p7m |
application/x-pkcs7-signature | p7s |
application/x-sh | sh |
application/x-shar | shar |
application/x-shockwave-flash | swf |
application/x-stuffit | sit |
application/x-sv4cpio | sv4cpio |
application/x-sv4crc | sv4crc |
application/x-tar | tar |
application/x-tcl | tcl |
application/x-tex | tex |
application/x-texinfo | texi |
application/x-texinfo | texinfo |
application/x-troff | roff |
application/x-troff | t |
application/x-troff | tr |
application/x-troff-man | man |
application/x-troff-me | me |
application/x-troff-ms | ms |
application/x-ustar | ustar |
application/x-wais-source | src |
application/x-x509-ca-cert | cer |
application/x-x509-ca-cert | crt |
application/x-x509-ca-cert | der |
application/ynd.ms-pkipko | pko |
application/zip | zip |
audio/basic | au |
audio/basic | snd |
audio/mid | mid |
audio/mid | rmi |
audio/mpeg | mp3 |
audio/x-aiff | aif |
audio/x-aiff | aifc |
audio/x-aiff | aiff |
audio/x-mpegurl | m3u |
audio/x-pn-realaudio | ra |
audio/x-pn-realaudio | ram |
audio/x-wav | wav |
image/bmp | bmp |
image/cis-cod | cod |
image/gif | gif |
image/ief | ief |
image/jpeg | jpe |
image/jpeg | jpeg |
image/jpeg | jpg |
image/pipeg | jfif |
image/svg+xml | svg |
image/tiff | tif |
image/tiff | tiff |
image/x-cmu-raster | ras |
image/x-cmx | cmx |
image/x-icon | ico |
image/x-portable-anymap | pnm |
image/x-portable-bitmap | pbm |
image/x-portable-graymap | pgm |
image/x-portable-pixmap | ppm |
image/x-rgb | rgb |
image/x-xbitmap | xbm |
image/x-xpixmap | xpm |
image/x-xwindowdump | xwd |
message/rfc822 | mht |
message/rfc822 | mhtml |
message/rfc822 | nws |
text/css | css |
text/h323 | 323 |
text/html | htm |
text/html | html |
text/html | stm |
text/iuls | uls |
text/plain | bas |
text/plain | c |
text/plain | h |
text/plain | txt |
text/richtext | rtx |
text/scriptlet | sct |
text/tab-separated-values | tsv |
text/webviewhtml | htt |
text/x-component | htc |
text/x-setext | etx |
text/x-vcard | vcf |
video/mpeg | mp2 |
video/mpeg | mpa |
video/mpeg | mpe |
video/mpeg | mpeg |
video/mpeg | mpg |
video/mpeg | mpv2 |
video/quicktime | mov |
video/quicktime | qt |
video/x-la-asf | lsf |
video/x-la-asf | lsx |
video/x-ms-asf | asf |
video/x-ms-asf | asr |
video/x-ms-asf | asx |
video/x-msvideo | avi |
video/x-sgi-movie | movie |
x-world/x-vrml | flr |
x-world/x-vrml | vrml |
x-world/x-vrml | wrl |
x-world/x-vrml | wrz |
x-world/x-vrml | xaf |
x-world/x-vrml | xof |
按照文件擴展名排列的 MIME 類型列表
擴展名 | 類型/子類型 |
---|---|
application/octet-stream | |
323 | text/h323 |
acx | application/internet-property-stream |
ai | application/postscript |
aif | audio/x-aiff |
aifc | audio/x-aiff |
aiff | audio/x-aiff |
asf | video/x-ms-asf |
asr | video/x-ms-asf |
asx | video/x-ms-asf |
au | audio/basic |
avi | video/x-msvideo |
axs | application/olescript |
bas | text/plain |
bcpio | application/x-bcpio |
bin | application/octet-stream |
bmp | image/bmp |
c | text/plain |
cat | application/vnd.ms-pkiseccat |
cdf | application/x-cdf |
cer | application/x-x509-ca-cert |
class | application/octet-stream |
clp | application/x-msclip |
cmx | image/x-cmx |
cod | image/cis-cod |
cpio | application/x-cpio |
crd | application/x-mscardfile |
crl | application/pkix-crl |
crt | application/x-x509-ca-cert |
csh | application/x-csh |
css | text/css |
dcr | application/x-director |
der | application/x-x509-ca-cert |
dir | application/x-director |
dll | application/x-msdownload |
dms | application/octet-stream |
doc | application/msword |
dot | application/msword |
dvi | application/x-dvi |
dxr | application/x-director |
eps | application/postscript |
etx | text/x-setext |
evy | application/envoy |
exe | application/octet-stream |
fif | application/fractals |
flr | x-world/x-vrml |
gif | image/gif |
gtar | application/x-gtar |
gz | application/x-gzip |
h | text/plain |
hdf | application/x-hdf |
hlp | application/winhlp |
hqx | application/mac-binhex40 |
hta | application/hta |
htc | text/x-component |
htm | text/html |
html | text/html |
htt | text/webviewhtml |
ico | image/x-icon |
ief | image/ief |
iii | application/x-iphone |
ins | application/x-internet-signup |
isp | application/x-internet-signup |
jfif | image/pipeg |
jpe | image/jpeg |
jpeg | image/jpeg |
jpg | image/jpeg |
js | application/x-javascript |
latex | application/x-latex |
lha | application/octet-stream |
lsf | video/x-la-asf |
lsx | video/x-la-asf |
lzh | application/octet-stream |
m13 | application/x-msmediaview |
m14 | application/x-msmediaview |
m3u | audio/x-mpegurl |
man | application/x-troff-man |
mdb | application/x-msaccess |
me | application/x-troff-me |
mht | message/rfc822 |
mhtml | message/rfc822 |
mid | audio/mid |
mny | application/x-msmoney |
mov | video/quicktime |
movie | video/x-sgi-movie |
mp2 | video/mpeg |
mp3 | audio/mpeg |
mpa | video/mpeg |
mpe | video/mpeg |
mpeg | video/mpeg |
mpg | video/mpeg |
mpp | application/vnd.ms-project |
mpv2 | video/mpeg |
ms | application/x-troff-ms |
mvb | application/x-msmediaview |
nws | message/rfc822 |
oda | application/oda |
p10 | application/pkcs10 |
p12 | application/x-pkcs12 |
p7b | application/x-pkcs7-certificates |
p7c | application/x-pkcs7-mime |
p7m | application/x-pkcs7-mime |
p7r | application/x-pkcs7-certreqresp |
p7s | application/x-pkcs7-signature |
pbm | image/x-portable-bitmap |
application/pdf | |
pfx | application/x-pkcs12 |
pgm | image/x-portable-graymap |
pko | application/ynd.ms-pkipko |
pma | application/x-perfmon |
pmc | application/x-perfmon |
pml | application/x-perfmon |
pmr | application/x-perfmon |
pmw | application/x-perfmon |
pnm | image/x-portable-anymap |
pot, | application/vnd.ms-powerpoint |
ppm | image/x-portable-pixmap |
pps | application/vnd.ms-powerpoint |
ppt | application/vnd.ms-powerpoint |
prf | application/pics-rules |
ps | application/postscript |
pub | application/x-mspublisher |
qt | video/quicktime |
ra | audio/x-pn-realaudio |
ram | audio/x-pn-realaudio |
ras | image/x-cmu-raster |
rgb | image/x-rgb |
rmi | audio/mid |
roff | application/x-troff |
rtf | application/rtf |
rtx | text/richtext |
scd | application/x-msschedule |
sct | text/scriptlet |
setpay | application/set-payment-initiation |
setreg | application/set-registration-initiation |
sh | application/x-sh |
shar | application/x-shar |
sit | application/x-stuffit |
snd | audio/basic |
spc | application/x-pkcs7-certificates |
spl | application/futuresplash |
src | application/x-wais-source |
sst | application/vnd.ms-pkicertstore |
stl | application/vnd.ms-pkistl |
stm | text/html |
svg | image/svg+xml |
sv4cpio | application/x-sv4cpio |
sv4crc | application/x-sv4crc |
swf | application/x-shockwave-flash |
t | application/x-troff |
tar | application/x-tar |
tcl | application/x-tcl |
tex | application/x-tex |
texi | application/x-texinfo |
texinfo | application/x-texinfo |
tgz | application/x-compressed |
tif | image/tiff |
tiff | image/tiff |
tr | application/x-troff |
trm | application/x-msterminal |
tsv | text/tab-separated-values |
txt | text/plain |
uls | text/iuls |
ustar | application/x-ustar |
vcf | text/x-vcard |
vrml | x-world/x-vrml |
wav | audio/x-wav |
wcm | application/vnd.ms-works |
wdb | application/vnd.ms-works |
wks | application/vnd.ms-works |
wmf | application/x-msmetafile |
wps | application/vnd.ms-works |
wri | application/x-mswrite |
wrl | x-world/x-vrml |
wrz | x-world/x-vrml |
xaf | x-world/x-vrml |
xbm | image/x-xbitmap |
xla | application/vnd.ms-excel |
xlc | application/vnd.ms-excel |
xlm | application/vnd.ms-excel |
xls | application/vnd.ms-excel |
xlt | application/vnd.ms-excel |
xlw | application/vnd.ms-excel |
xof | x-world/x-vrml |
xpm | image/x-xpixmap |
xwd | image/x-xwindowdump |
z | application/x-compress |
zip | application/zi |
HTTP2
HTTP/2(超文本傳輸協議第2版,最初命名為HTTP 2.0),簡稱為h2(基于TLS/1.2或以上版本的加密連接)或h2c(非加密連接), HTTP/2 是 HTTP 協議的第二個主要版本,用于在 Web 服務器和客戶端之間傳輸數據。
HTTP/2 是 HTTP 協議自 1999 年 HTTP 1.1 的改進版 RFC 發布后的首個更新,主要基于 SPDY 協議。
多數主流瀏覽器已經在 2015 年底支持了該協議。
HTTP/2是一種網絡協議,是HTTP/1.1的升級版,由IETF在2015年發布。HTTP/2旨在提高Web性能,減少延遲,增加安全性,使Web應用更加快速、高效和可靠。
HTTP/2 特點
下面是 HTTP/2 的一些特點和改進之處:
-
多路復用:HTTP/2 允許同時發送多個請求和響應,而不是像 HTTP/1.1 一樣只能一個一個地處理。這樣可以減少延遲,提高效率,提高網絡吞吐量。
-
二進制傳輸:HTTP/2 使用二進制協議,與 HTTP/1.1 使用的文本協議不同。二進制協議可以更快地解析,更有效地傳輸數據,減少了傳輸過程中的開銷和延遲。
-
頭部壓縮:HTTP/2 使用 HPACK 算法對 HTTP 頭部進行壓縮,減少了頭部傳輸的數據量,從而減少了網絡延遲。
-
服務器推送:HTTP/2 支持服務器推送,允許服務器在客戶端請求之前推送資源,以提高性能。
-
改進的安全性:HTTP/2 默認使用 TLS(Transport Layer Security)加密傳輸數據,提高了安全性。
-
兼容 HTTP/1.1:HTTP/2 可以與 HTTP/1.1 共存,服務器可以同時支持 HTTP/1.1 和 HTTP/2。如果客戶端不支持 HTTP/2,服務器可以回退到 HTTP/1.1。
總的來說,HTTP/2在性能、安全性和可用性方面都有顯著的改進,可以使 Web 應用更加快速、高效和可靠。
對數據傳輸采用多路復用,讓多個請求合并在同一 TCP 連接內,如下圖所示:
HTTP/2 減少網絡延遲,提高瀏覽器的頁面加載速度:
HTTP/2 使用二進制格式來傳輸數據,而不是像 HTTP/1.1 一樣使用文本格式。這提高了效率并降低了數據傳輸的延遲。
HTTP/2 使用頭部壓縮來減少傳輸數據的大小。這有助于減少網絡帶寬的使用量,并提高頁面加載速度。
HTTP/2 允許服務器在不被請求的情況下主動向客戶端發送數據。這有助于減少請求延遲,并提高頁面加載速度。
?如果我的內容對你有幫助,請點贊,評論,收藏。創作不易,大家的支持就是我堅持下去的動力!