HTTP 教程 : 從 0 到 1 全面指南 教程【全文三萬字保姆級詳細講解】

目錄

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 工作過程通常如下:

  1. 客戶端發起請求:用戶通過客戶端(如瀏覽器)輸入 URL,客戶端向服務器發起一個 HTTP 請求。
  2. 服務器處理請求:服務器接收到請求后,根據請求的類型(如GET、POST等)和請求的資源,進行相應的處理。
  3. 服務器返回響應:服務器將處理結果包裝成HTTP響應消息,發送回客戶端。
  4. 客戶端渲染頁面:客戶端接收到響應后,根據響應內容(如HTML、圖片等)渲染頁面,展示給用戶。

Web 服務器有:Nginx 服務器,Apache 服務器,IIS 服務器(Internet Information Services)等。

HTTP 默認端口號為 80,但是你也可以改為 8080 或者其他端口。

HTTP 三點注意事項:

  • HTTP 是無連接:無連接的含義是限制每次連接只處理一個請求,服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接,采用這種方式可以節省傳輸時間。

  • HTTP 是媒體獨立的:這意味著,只要客戶端和服務器知道如何處理的數據內容,任何類型的數據都可以通過HTTP發送,客戶端以及服務器指定使用適合的 MIME-type 內容類型。

  • HTTP 是無狀態:HTTP 協議是無狀態協議,無狀態是指協議對于事務處理沒有記憶能力,缺少狀態意味著如果后續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大,另一方面,在服務器不需要先前信息時它的應答就較快。

以下圖表展示了 HTTP 協議通信流程:

cgiarch


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):

    • 包含了客戶端環境信息、請求體的大小(如果有)、客戶端支持的壓縮類型等。
    • 常見的請求頭包括HostUser-AgentAcceptAccept-EncodingContent-Length等。
  • 空行

    • 請求頭和請求體之間的分隔符,表示請求頭的結束。
  • 請求體(可選):

    • 在某些類型的HTTP請求(如 POST 和 PUT)中,請求體包含要發送給服務器的數據。

服務器響應消息

HTTP 響應也由四個部分組成,分別是:狀態行、消息報頭、空行和響應正文。

  • 狀態行(Status Line):

    • HTTP 版本:與請求消息中的版本相匹配。
    • 狀態碼:三位數,表示請求的處理結果,如 200 表示成功,404 表示未找到資源。
    • 狀態信息:狀態碼的簡短描述。

    狀態行的格式示例:HTTP/1.1 200 OK

  • 響應頭(Response Headers):

    • 包含了服務器環境信息、響應體的大小、服務器支持的壓縮類型等。
    • 常見的響應頭包括Content-TypeContent-LengthServerSet-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 請求方法列表:

序號方法描述
1GET從服務器獲取資源。用于請求數據而不對數據進行更改。例如,從服務器獲取網頁、圖片等。
2POST向服務器發送數據以創建新資源。常用于提交表單數據或上傳文件。發送的數據包含在請求體中。
3PUT向服務器發送數據以更新現有資源。如果資源不存在,則創建新的資源。與 POST 不同,PUT 通常是冪等的,即多次執行相同的 PUT 請求不會產生不同的結果。
4DELETE從服務器刪除指定的資源。請求中包含要刪除的資源標識符。
5PATCH對資源進行部分修改。與 PUT 類似,但 PATCH 只更改部分數據而不是替換整個資源。
6HEAD類似于 GET,但服務器只返回響應的頭部,不返回實際數據。用于檢查資源的元數據(例如,檢查資源是否存在,查看響應的頭部信息)。
7OPTIONS返回服務器支持的 HTTP 方法。用于檢查服務器支持哪些請求方法,通常用于跨域資源共享(CORS)的預檢請求。
8TRACE回顯服務器收到的請求,主要用于診斷。客戶端可以查看請求在服務器中的處理路徑。
9CONNECT建立一個到服務器的隧道,通常用于 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-aliveclose,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-ProtectionXSS保護控制瀏覽器的 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狀態碼列表:

狀態碼狀態碼英文名稱中文描述
100Continue繼續。客戶端應繼續其請求
101Switching Protocols切換協議。服務器根據客戶端的請求切換協議。只能切換到更高級的協議,例如,切換到HTTP的新版本協議
200OK請求成功。一般用于GET與POST請求
201Created已創建。成功請求并創建了新的資源
202Accepted已接受。已經接受請求,但未處理完成
203Non-Authoritative Information非授權信息。請求成功。但返回的meta信息不在原始的服務器,而是一個副本
204No Content無內容。服務器成功處理,但未返回內容。在未更新網頁的情況下,可確保瀏覽器繼續顯示當前文檔
205Reset Content重置內容。服務器處理成功,用戶終端(例如:瀏覽器)應重置文檔視圖。可通過此返回碼清除瀏覽器的表單域
206Partial Content部分內容。服務器成功處理了部分GET請求
300Multiple Choices多種選擇。請求的資源可包括多個位置,相應可返回一個資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇
301Moved Permanently永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。今后任何新的請求都應使用新的URI代替
302Found臨時移動。與301類似。但資源只是臨時被移動。客戶端應繼續使用原有URI
303See Other查看其它地址。與301類似。使用GET和POST請求查看
304Not Modified未修改。所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源。客戶端通常會緩存訪問過的資源,通過提供一個頭信息指出客戶端希望只返回在指定日期之后修改的資源
305Use Proxy使用代理。所請求的資源必須通過代理訪問
306Unused已經被廢棄的HTTP狀態碼
307Temporary Redirect臨時重定向。與302類似。使用GET請求重定向
400Bad Request客戶端請求的語法錯誤,服務器無法理解
401Unauthorized請求要求用戶的身份認證
402Payment Required保留,將來使用
403Forbidden服務器理解請求客戶端的請求,但是拒絕執行此請求
404Not Found服務器無法根據客戶端的請求找到資源(網頁)。通過此代碼,網站設計人員可設置"您所請求的資源無法找到"的個性頁面
405Method Not Allowed客戶端請求中的方法被禁止
406Not Acceptable服務器無法根據客戶端請求的內容特性完成請求
407Proxy Authentication Required請求要求代理的身份認證,與401類似,但請求者應當使用代理進行授權
408Request Time-out服務器等待客戶端發送的請求時間過長,超時
409Conflict服務器完成客戶端的 PUT 請求時可能返回此代碼,服務器處理請求時發生了沖突
410Gone客戶端請求的資源已經不存在。410不同于404,如果資源以前有現在被永久刪除了可使用410代碼,網站設計人員可通過301代碼指定資源的新位置
411Length Required服務器無法處理客戶端發送的不帶Content-Length的請求信息
412Precondition Failed客戶端請求信息的先決條件錯誤
413Request Entity Too Large由于請求的實體過大,服務器無法處理,因此拒絕請求。為防止客戶端的連續請求,服務器可能會關閉連接。如果只是服務器暫時無法處理,則會包含一個Retry-After的響應信息
414Request-URI Too Large請求的URI過長(URI通常為網址),服務器無法處理
415Unsupported Media Type服務器無法處理請求附帶的媒體格式
416Requested range not satisfiable客戶端請求的范圍無效
417Expectation Failed(預期失敗)服務器無法滿足請求頭中 Expect 字段指定的預期行為。
418I'm a teapot狀態碼 418 實際上是一個愚人節玩笑。它在 RFC 2324 中定義,該 RFC 是一個關于超文本咖啡壺控制協議(HTCPCP)的笑話文件。在這個笑話中,418 狀態碼是作為一個玩笑加入到 HTTP 協議中的。
500Internal Server Error服務器內部錯誤,無法完成請求
501Not Implemented服務器不支持請求的功能,無法完成請求
502Bad Gateway作為網關或者代理工作的服務器嘗試執行請求時,從遠程服務器接收到了一個無效的響應
503Service Unavailable由于超載或系統維護,服務器暫時的無法處理客戶端的請求。延時的長度可包含在服務器的Retry-After頭信息中
504Gateway Time-out充當網關或代理的服務器,未及時從遠端服務器獲取請求
505HTTP 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.tifimage/tiff
.001application/x-001.301application/x-301
.323text/h323.906application/x-906
.907drawing/907.a11application/x-a11
.acpaudio/x-mei-aac.aiapplication/postscript
.aifaudio/aiff.aifcaudio/aiff
.aiffaudio/aiff.anvapplication/x-anv
.asatext/asa.asfvideo/x-ms-asf
.asptext/asp.asxvideo/x-ms-asf
.auaudio/basic.avivideo/avi
.awfapplication/vnd.adobe.workflow.biztext/xml
.bmpapplication/x-bmp.botapplication/x-bot
.c4tapplication/x-c4t.c90application/x-c90
.calapplication/x-cals.catapplication/vnd.ms-pki.seccat
.cdfapplication/x-netcdf.cdrapplication/x-cdr
.celapplication/x-cel.cerapplication/x-x509-ca-cert
.cg4application/x-g4.cgmapplication/x-cgm
.citapplication/x-cit.classjava/*
.cmltext/xml.cmpapplication/x-cmp
.cmxapplication/x-cmx.cotapplication/x-cot
.crlapplication/pkix-crl.crtapplication/x-x509-ca-cert
.csiapplication/x-csi.csstext/css
.cutapplication/x-cut.dbfapplication/x-dbf
.dbmapplication/x-dbm.dbxapplication/x-dbx
.dcdtext/xml.dcxapplication/x-dcx
.derapplication/x-x509-ca-cert.dgnapplication/x-dgn
.dibapplication/x-dib.dllapplication/x-msdownload
.docapplication/msword.dotapplication/msword
.drwapplication/x-drw.dtdtext/xml
.dwfModel/vnd.dwf.dwfapplication/x-dwf
.dwgapplication/x-dwg.dxbapplication/x-dxb
.dxfapplication/x-dxf.ednapplication/vnd.adobe.edn
.emfapplication/x-emf.emlmessage/rfc822
.enttext/xml.epiapplication/x-epi
.epsapplication/x-ps.epsapplication/postscript
.etdapplication/x-ebx.exeapplication/x-msdownload
.faximage/fax.fdfapplication/vnd.fdf
.fifapplication/fractals.fotext/xml
.frmapplication/x-frm.g4application/x-g4
.gbrapplication/x-gbr.application/x-
.gifimage/gif.gl2application/x-gl2
.gp4application/x-gp4.hglapplication/x-hgl
.hmrapplication/x-hmr.hpgapplication/x-hpgl
.hplapplication/x-hpl.hqxapplication/mac-binhex40
.hrfapplication/x-hrf.htaapplication/hta
.htctext/x-component.htmtext/html
.htmltext/html.htttext/webviewhtml
.htxtext/html.icbapplication/x-icb
.icoimage/x-icon.icoapplication/x-ico
.iffapplication/x-iff.ig4application/x-g4
.igsapplication/x-igs.iiiapplication/x-iphone
.imgapplication/x-img.insapplication/x-internet-signup
.ispapplication/x-internet-signup.IVFvideo/x-ivf
.javajava/*.jfifimage/jpeg
.jpeimage/jpeg.jpeapplication/x-jpe
.jpegimage/jpeg.jpgimage/jpeg
.jpgapplication/x-jpg.jsapplication/x-javascript
.jsptext/html.la1audio/x-liquid-file
.larapplication/x-laplayer-reg.latexapplication/x-latex
.lavsaudio/x-liquid-secure.lbmapplication/x-lbm
.lmsffaudio/x-la-lms.lsapplication/x-javascript
.ltrapplication/x-ltr.m1vvideo/x-mpeg
.m2vvideo/x-mpeg.m3uaudio/mpegurl
.m4evideo/mpeg4.macapplication/x-mac
.manapplication/x-troff-man.mathtext/xml
.mdbapplication/msaccess.mdbapplication/x-mdb
.mfpapplication/x-shockwave-flash.mhtmessage/rfc822
.mhtmlmessage/rfc822.miapplication/x-mi
.midaudio/mid.midiaudio/mid
.milapplication/x-mil.mmltext/xml
.mndaudio/x-musicnet-download.mnsaudio/x-musicnet-stream
.mochaapplication/x-javascript.movievideo/x-sgi-movie
.mp1audio/mp1.mp2audio/mp2
.mp2vvideo/mpeg.mp3audio/mp3
.mp4video/mpeg4.mpavideo/x-mpg
.mpdapplication/vnd.ms-project.mpevideo/x-mpeg
.mpegvideo/mpg.mpgvideo/mpg
.mpgaaudio/rn-mpeg.mppapplication/vnd.ms-project
.mpsvideo/x-mpeg.mptapplication/vnd.ms-project
.mpvvideo/mpg.mpv2video/mpeg
.mpwapplication/vnd.ms-project.mpxapplication/vnd.ms-project
.mtxtext/xml.mxpapplication/x-mmxp
.netimage/pnetvue.nrfapplication/x-nrf
.nwsmessage/rfc822.odctext/x-ms-odc
.outapplication/x-out.p10application/pkcs10
.p12application/x-pkcs12.p7bapplication/x-pkcs7-certificates
.p7capplication/pkcs7-mime.p7mapplication/pkcs7-mime
.p7rapplication/x-pkcs7-certreqresp.p7sapplication/pkcs7-signature
.pc5application/x-pc5.pciapplication/x-pci
.pclapplication/x-pcl.pcxapplication/x-pcx
.pdfapplication/pdf.pdfapplication/pdf
.pdxapplication/vnd.adobe.pdx.pfxapplication/x-pkcs12
.pglapplication/x-pgl.picapplication/x-pic
.pkoapplication/vnd.ms-pki.pko.plapplication/x-perl
.plgtext/html.plsaudio/scpls
.pltapplication/x-plt.pngimage/png
.pngapplication/x-png.potapplication/vnd.ms-powerpoint
.ppaapplication/vnd.ms-powerpoint.ppmapplication/x-ppm
.ppsapplication/vnd.ms-powerpoint.pptapplication/vnd.ms-powerpoint
.pptapplication/x-ppt.prapplication/x-pr
.prfapplication/pics-rules.prnapplication/x-prn
.prtapplication/x-prt.psapplication/x-ps
.psapplication/postscript.ptnapplication/x-ptn
.pwzapplication/vnd.ms-powerpoint.r3ttext/vnd.rn-realtext3d
.raaudio/vnd.rn-realaudio.ramaudio/x-pn-realaudio
.rasapplication/x-ras.ratapplication/rat-file
.rdftext/xml.recapplication/vnd.rn-recording
.redapplication/x-red.rgbapplication/x-rgb
.rjsapplication/vnd.rn-realsystem-rjs.rjtapplication/vnd.rn-realsystem-rjt
.rlcapplication/x-rlc.rleapplication/x-rle
.rmapplication/vnd.rn-realmedia.rmfapplication/vnd.adobe.rmf
.rmiaudio/mid.rmjapplication/vnd.rn-realsystem-rmj
.rmmaudio/x-pn-realaudio.rmpapplication/vnd.rn-rn_music_package
.rmsapplication/vnd.rn-realmedia-secure.rmvbapplication/vnd.rn-realmedia-vbr
.rmxapplication/vnd.rn-realsystem-rmx.rnxapplication/vnd.rn-realplayer
.rpimage/vnd.rn-realpix.rpmaudio/x-pn-realaudio-plugin
.rsmlapplication/vnd.rn-rsml.rttext/vnd.rn-realtext
.rtfapplication/msword.rtfapplication/x-rtf
.rvvideo/vnd.rn-realvideo.samapplication/x-sam
.satapplication/x-sat.sdpapplication/sdp
.sdwapplication/x-sdw.sitapplication/x-stuffit
.slbapplication/x-slb.sldapplication/x-sld
.slkdrawing/x-slk.smiapplication/smil
.smilapplication/smil.smkapplication/x-smk
.sndaudio/basic.soltext/plain
.sortext/plain.spcapplication/x-pkcs7-certificates
.splapplication/futuresplash.spptext/xml
.ssmapplication/streamingmedia.sstapplication/vnd.ms-pki.certstore
.stlapplication/vnd.ms-pki.stl.stmtext/html
.styapplication/x-sty.svgtext/xml
.swfapplication/x-shockwave-flash.tdfapplication/x-tdf
.tg4application/x-tg4.tgaapplication/x-tga
.tifimage/tiff.tifapplication/x-tif
.tiffimage/tiff.tldtext/xml
.topdrawing/x-top.torrentapplication/x-bittorrent
.tsdtext/xml.txttext/plain
.uinapplication/x-icq.ulstext/iuls
.vcftext/x-vcard.vdaapplication/x-vda
.vdxapplication/vnd.visio.vmltext/xml
.vpgapplication/x-vpeg005.vsdapplication/vnd.visio
.vsdapplication/x-vsd.vssapplication/vnd.visio
.vstapplication/vnd.visio.vstapplication/x-vst
.vswapplication/vnd.visio.vsxapplication/vnd.visio
.vtxapplication/vnd.visio.vxmltext/xml
.wavaudio/wav.waxaudio/x-ms-wax
.wb1application/x-wb1.wb2application/x-wb2
.wb3application/x-wb3.wbmpimage/vnd.wap.wbmp
.wizapplication/msword.wk3application/x-wk3
.wk4application/x-wk4.wkqapplication/x-wkq
.wksapplication/x-wks.wmvideo/x-ms-wm
.wmaaudio/x-ms-wma.wmdapplication/x-ms-wmd
.wmfapplication/x-wmf.wmltext/vnd.wap.wml
.wmvvideo/x-ms-wmv.wmxvideo/x-ms-wmx
.wmzapplication/x-ms-wmz.wp6application/x-wp6
.wpdapplication/x-wpd.wpgapplication/x-wpg
.wplapplication/vnd.ms-wpl.wq1application/x-wq1
.wr1application/x-wr1.wriapplication/x-wri
.wrkapplication/x-wrk.wsapplication/x-ws
.ws2application/x-ws.wsctext/scriptlet
.wsdltext/xml.wvxvideo/x-ms-wvx
.xdpapplication/vnd.adobe.xdp.xdrtext/xml
.xfdapplication/vnd.adobe.xfd.xfdfapplication/vnd.adobe.xfdf
.xhtmltext/html.xlsapplication/vnd.ms-excel
.xlsapplication/x-xls.xlwapplication/x-xlw
.xmltext/xml.xplaudio/scpls
.xqtext/xml.xqltext/xml
.xquerytext/xml.xsdtext/xml
.xsltext/xml.xslttext/xml
.xwdapplication/x-xwd.x_bapplication/x-x_b
.sisapplication/vnd.symbian.install.sisxapplication/vnd.symbian.install
.x_tapplication/x-x_t.ipaapplication/vnd.iphone
.apkapplication/vnd.android.package-archive.xapapplication/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表明是某種二進制數據

application/octet-stream,?application/pkcs12,?application/vnd.mspowerpoint,?application/xhtml+xml,?application/xml,??application/pdf

MIME 對照表

媒體類型文件擴展名說明
application/msworddoc微軟 Office Word 格式(Microsoft Word 97 - 2004 document)
application/vnd.openxmlformats-officedocument.wordprocessingml.documentdocx微軟 Office Word 文檔格式
application/vnd.ms-excelxls微軟 Office Excel 格式(Microsoft Excel 97 - 2004 Workbook
application/vnd.openxmlformats-officedocument.spreadsheetml.sheetxlsx微軟 Office Excel 文檔格式
application/vnd.ms-powerpointppt微軟 Office PowerPoint 格式(Microsoft PowerPoint 97 - 2003 演示文稿)
application/vnd.openxmlformats-officedocument.presentationml.presentationpptx微軟 Office PowerPoint 文稿格式
application/x-gzipgz, gzipGZ 壓縮文件格式
application/zipzip, 7zipZIP 壓縮文件格式
application/rarrarRAR 壓縮文件格式
application/x-tartar, tgzTAR 壓縮文件格式
application/pdfpdfPDF 是 Portable Document Format 的簡稱,即便攜式文檔格式
application/rtfrtfRTF 是指 Rich Text Format,即通常所說的富文本格式
image/gifgifGIF 圖像格式
image/jpegjpg, jpegJPG(JPEG) 圖像格式
image/jp2jpg2JPG2 圖像格式
image/pngpngPNG 圖像格式
image/tifftif, tiffTIF(TIFF) 圖像格式
image/bmpbmpBMP 圖像格式(位圖格式)
image/svg+xmlsvg, svgzSVG 圖像格式
image/webpwebpWebP 圖像格式
image/x-iconicoico 圖像格式,通常用于瀏覽器 Favicon 圖標
application/kswpswps金山 Office 文字排版文件格式
application/ksetet金山 Office 表格文件格式
application/ksdpsdps金山 Office 演示文稿格式
application/x-photoshoppsdPhotoshop 源文件格式
application/x-coreldrawcdrCoreldraw 源文件格式
application/x-shockwave-flashswfAdobe Flash 源文件格式
text/plaintxt普通文本格式
application/x-javascriptjsJavascript 文件類型
text/javascriptjs表示 Javascript 腳本文件
text/csscss表示 CSS 樣式表
text/htmlhtm, html, shtmlHTML 文件格式
application/xhtml+xmlxht, xhtmlXHTML 文件格式
text/xmlxmlXML 文件格式
text/x-vcardvcfVCF 文件格式
application/x-httpd-phpphp, php3, php4, phtmlPHP 文件格式
application/java-archivejarJava 歸檔文件格式
application/vnd.android.package-archiveapkAndroid 平臺包文件格式
application/octet-streamexeWindows 系統可執行文件格式
application/x-x509-user-certcrt, pemPEM 文件格式
audio/mpegmp3mpeg 音頻格式
audio/midimid, midimid 音頻格式
audio/x-wavwavwav 音頻格式
audio/x-mpegurlm3um3u 音頻格式
audio/x-m4am4am4a 音頻格式
audio/oggoggogg 音頻格式
audio/x-realaudioraReal Audio 音頻格式
video/mp4mp4mp4 視頻格式
video/mpegmpg, mpe, mpegmpeg 視頻格式
video/quicktimeqt, movQuickTime 視頻格式
video/x-m4vm4vm4v 視頻格式
video/x-ms-wmvwmvwmv 視頻格式(Windows 操作系統上的一種視頻格式)
video/x-msvideoaviavi 視頻格式
video/webmwebmwebm 視頻格式
video/x-flvflv一種基于 flash 技術的視頻格式

按照內容類型排列的 MIME 類型列表

類型/子類型擴展名
application/envoyevy
application/fractalsfif
application/futuresplashspl
application/htahta
application/internet-property-streamacx
application/mac-binhex40hqx
application/msworddoc
application/msworddot
application/octet-stream*
application/octet-streambin
application/octet-streamclass
application/octet-streamdms
application/octet-streamexe
application/octet-streamlha
application/octet-streamlzh
application/odaoda
application/olescriptaxs
application/pdfpdf
application/pics-rulesprf
application/pkcs10p10
application/pkix-crlcrl
application/postscriptai
application/postscripteps
application/postscriptps
application/rtfrtf
application/set-payment-initiationsetpay
application/set-registration-initiationsetreg
application/vnd.ms-excelxla
application/vnd.ms-excelxlc
application/vnd.ms-excelxlm
application/vnd.ms-excelxls
application/vnd.ms-excelxlt
application/vnd.ms-excelxlw
application/vnd.ms-outlookmsg
application/vnd.ms-pkicertstoresst
application/vnd.ms-pkiseccatcat
application/vnd.ms-pkistlstl
application/vnd.ms-powerpointpot
application/vnd.ms-powerpointpps
application/vnd.ms-powerpointppt
application/vnd.ms-projectmpp
application/vnd.ms-workswcm
application/vnd.ms-workswdb
application/vnd.ms-workswks
application/vnd.ms-workswps
application/winhlphlp
application/x-bcpiobcpio
application/x-cdfcdf
application/x-compressz
application/x-compressedtgz
application/x-cpiocpio
application/x-cshcsh
application/x-directordcr
application/x-directordir
application/x-directordxr
application/x-dvidvi
application/x-gtargtar
application/x-gzipgz
application/x-hdfhdf
application/x-internet-signupins
application/x-internet-signupisp
application/x-iphoneiii
application/x-javascriptjs
application/x-latexlatex
application/x-msaccessmdb
application/x-mscardfilecrd
application/x-msclipclp
application/x-msdownloaddll
application/x-msmediaviewm13
application/x-msmediaviewm14
application/x-msmediaviewmvb
application/x-msmetafilewmf
application/x-msmoneymny
application/x-mspublisherpub
application/x-msschedulescd
application/x-msterminaltrm
application/x-mswritewri
application/x-netcdfcdf
application/x-netcdfnc
application/x-perfmonpma
application/x-perfmonpmc
application/x-perfmonpml
application/x-perfmonpmr
application/x-perfmonpmw
application/x-pkcs12p12
application/x-pkcs12pfx
application/x-pkcs7-certificatesp7b
application/x-pkcs7-certificatesspc
application/x-pkcs7-certreqrespp7r
application/x-pkcs7-mimep7c
application/x-pkcs7-mimep7m
application/x-pkcs7-signaturep7s
application/x-shsh
application/x-sharshar
application/x-shockwave-flashswf
application/x-stuffitsit
application/x-sv4cpiosv4cpio
application/x-sv4crcsv4crc
application/x-tartar
application/x-tcltcl
application/x-textex
application/x-texinfotexi
application/x-texinfotexinfo
application/x-troffroff
application/x-trofft
application/x-trofftr
application/x-troff-manman
application/x-troff-meme
application/x-troff-msms
application/x-ustarustar
application/x-wais-sourcesrc
application/x-x509-ca-certcer
application/x-x509-ca-certcrt
application/x-x509-ca-certder
application/ynd.ms-pkipkopko
application/zipzip
audio/basicau
audio/basicsnd
audio/midmid
audio/midrmi
audio/mpegmp3
audio/x-aiffaif
audio/x-aiffaifc
audio/x-aiffaiff
audio/x-mpegurlm3u
audio/x-pn-realaudiora
audio/x-pn-realaudioram
audio/x-wavwav
image/bmpbmp
image/cis-codcod
image/gifgif
image/iefief
image/jpegjpe
image/jpegjpeg
image/jpegjpg
image/pipegjfif
image/svg+xmlsvg
image/tifftif
image/tifftiff
image/x-cmu-rasterras
image/x-cmxcmx
image/x-iconico
image/x-portable-anymappnm
image/x-portable-bitmappbm
image/x-portable-graymappgm
image/x-portable-pixmapppm
image/x-rgbrgb
image/x-xbitmapxbm
image/x-xpixmapxpm
image/x-xwindowdumpxwd
message/rfc822mht
message/rfc822mhtml
message/rfc822nws
text/csscss
text/h323323
text/htmlhtm
text/htmlhtml
text/htmlstm
text/iulsuls
text/plainbas
text/plainc
text/plainh
text/plaintxt
text/richtextrtx
text/scriptletsct
text/tab-separated-valuestsv
text/webviewhtmlhtt
text/x-componenthtc
text/x-setextetx
text/x-vcardvcf
video/mpegmp2
video/mpegmpa
video/mpegmpe
video/mpegmpeg
video/mpegmpg
video/mpegmpv2
video/quicktimemov
video/quicktimeqt
video/x-la-asflsf
video/x-la-asflsx
video/x-ms-asfasf
video/x-ms-asfasr
video/x-ms-asfasx
video/x-msvideoavi
video/x-sgi-moviemovie
x-world/x-vrmlflr
x-world/x-vrmlvrml
x-world/x-vrmlwrl
x-world/x-vrmlwrz
x-world/x-vrmlxaf
x-world/x-vrmlxof

按照文件擴展名排列的 MIME 類型列表

擴展名類型/子類型
application/octet-stream
323text/h323
acxapplication/internet-property-stream
aiapplication/postscript
aifaudio/x-aiff
aifcaudio/x-aiff
aiffaudio/x-aiff
asfvideo/x-ms-asf
asrvideo/x-ms-asf
asxvideo/x-ms-asf
auaudio/basic
avivideo/x-msvideo
axsapplication/olescript
bastext/plain
bcpioapplication/x-bcpio
binapplication/octet-stream
bmpimage/bmp
ctext/plain
catapplication/vnd.ms-pkiseccat
cdfapplication/x-cdf
cerapplication/x-x509-ca-cert
classapplication/octet-stream
clpapplication/x-msclip
cmximage/x-cmx
codimage/cis-cod
cpioapplication/x-cpio
crdapplication/x-mscardfile
crlapplication/pkix-crl
crtapplication/x-x509-ca-cert
cshapplication/x-csh
csstext/css
dcrapplication/x-director
derapplication/x-x509-ca-cert
dirapplication/x-director
dllapplication/x-msdownload
dmsapplication/octet-stream
docapplication/msword
dotapplication/msword
dviapplication/x-dvi
dxrapplication/x-director
epsapplication/postscript
etxtext/x-setext
evyapplication/envoy
exeapplication/octet-stream
fifapplication/fractals
flrx-world/x-vrml
gifimage/gif
gtarapplication/x-gtar
gzapplication/x-gzip
htext/plain
hdfapplication/x-hdf
hlpapplication/winhlp
hqxapplication/mac-binhex40
htaapplication/hta
htctext/x-component
htmtext/html
htmltext/html
htttext/webviewhtml
icoimage/x-icon
iefimage/ief
iiiapplication/x-iphone
insapplication/x-internet-signup
ispapplication/x-internet-signup
jfifimage/pipeg
jpeimage/jpeg
jpegimage/jpeg
jpgimage/jpeg
jsapplication/x-javascript
latexapplication/x-latex
lhaapplication/octet-stream
lsfvideo/x-la-asf
lsxvideo/x-la-asf
lzhapplication/octet-stream
m13application/x-msmediaview
m14application/x-msmediaview
m3uaudio/x-mpegurl
manapplication/x-troff-man
mdbapplication/x-msaccess
meapplication/x-troff-me
mhtmessage/rfc822
mhtmlmessage/rfc822
midaudio/mid
mnyapplication/x-msmoney
movvideo/quicktime
movievideo/x-sgi-movie
mp2video/mpeg
mp3audio/mpeg
mpavideo/mpeg
mpevideo/mpeg
mpegvideo/mpeg
mpgvideo/mpeg
mppapplication/vnd.ms-project
mpv2video/mpeg
msapplication/x-troff-ms
mvbapplication/x-msmediaview
nwsmessage/rfc822
odaapplication/oda
p10application/pkcs10
p12application/x-pkcs12
p7bapplication/x-pkcs7-certificates
p7capplication/x-pkcs7-mime
p7mapplication/x-pkcs7-mime
p7rapplication/x-pkcs7-certreqresp
p7sapplication/x-pkcs7-signature
pbmimage/x-portable-bitmap
pdfapplication/pdf
pfxapplication/x-pkcs12
pgmimage/x-portable-graymap
pkoapplication/ynd.ms-pkipko
pmaapplication/x-perfmon
pmcapplication/x-perfmon
pmlapplication/x-perfmon
pmrapplication/x-perfmon
pmwapplication/x-perfmon
pnmimage/x-portable-anymap
pot,application/vnd.ms-powerpoint
ppmimage/x-portable-pixmap
ppsapplication/vnd.ms-powerpoint
pptapplication/vnd.ms-powerpoint
prfapplication/pics-rules
psapplication/postscript
pubapplication/x-mspublisher
qtvideo/quicktime
raaudio/x-pn-realaudio
ramaudio/x-pn-realaudio
rasimage/x-cmu-raster
rgbimage/x-rgb
rmiaudio/mid
roffapplication/x-troff
rtfapplication/rtf
rtxtext/richtext
scdapplication/x-msschedule
scttext/scriptlet
setpayapplication/set-payment-initiation
setregapplication/set-registration-initiation
shapplication/x-sh
sharapplication/x-shar
sitapplication/x-stuffit
sndaudio/basic
spcapplication/x-pkcs7-certificates
splapplication/futuresplash
srcapplication/x-wais-source
sstapplication/vnd.ms-pkicertstore
stlapplication/vnd.ms-pkistl
stmtext/html
svgimage/svg+xml
sv4cpioapplication/x-sv4cpio
sv4crcapplication/x-sv4crc
swfapplication/x-shockwave-flash
tapplication/x-troff
tarapplication/x-tar
tclapplication/x-tcl
texapplication/x-tex
texiapplication/x-texinfo
texinfoapplication/x-texinfo
tgzapplication/x-compressed
tifimage/tiff
tiffimage/tiff
trapplication/x-troff
trmapplication/x-msterminal
tsvtext/tab-separated-values
txttext/plain
ulstext/iuls
ustarapplication/x-ustar
vcftext/x-vcard
vrmlx-world/x-vrml
wavaudio/x-wav
wcmapplication/vnd.ms-works
wdbapplication/vnd.ms-works
wksapplication/vnd.ms-works
wmfapplication/x-msmetafile
wpsapplication/vnd.ms-works
wriapplication/x-mswrite
wrlx-world/x-vrml
wrzx-world/x-vrml
xafx-world/x-vrml
xbmimage/x-xbitmap
xlaapplication/vnd.ms-excel
xlcapplication/vnd.ms-excel
xlmapplication/vnd.ms-excel
xlsapplication/vnd.ms-excel
xltapplication/vnd.ms-excel
xlwapplication/vnd.ms-excel
xofx-world/x-vrml
xpmimage/x-xpixmap
xwdimage/x-xwindowdump
zapplication/x-compress
zipapplication/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 允許服務器在不被請求的情況下主動向客戶端發送數據。這有助于減少請求延遲,并提高頁面加載速度。

?如果我的內容對你有幫助,請點贊評論收藏。創作不易,大家的支持就是我堅持下去的動力!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77043.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77043.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77043.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

spring功能匯總

1.創建一個dao接口&#xff0c;實現類&#xff1b;service接口&#xff0c;實現類并且service里用new創建對象方式調用dao的方法 2.使用spring分別獲取dao和service對象(IOC) 注意 2中的service里面獲取dao的對象方式不用new的(DI) 運行測試&#xff1a; 使用1的方式創建servic…

Vue.js 實現下載模板和導入模板、數據比對功能核心實現。

在前端開發中&#xff0c;數據比對是一個常見需求&#xff0c;尤其在資產管理等場景中。本文將基于 Vue.js 和 Element UI&#xff0c;通過一個簡化的代碼示例&#xff0c;展示如何實現“新建比對”和“開始比對”功能的核心部分。 一、功能簡介 我們將聚焦兩個核心功能&…

volatile關鍵字用途說明

volatile 關鍵字在 C# 中用于指示編譯器和運行時系統&#xff0c;某個字段可能會被多個線程同時訪問&#xff0c;并且該字段的讀寫操作不應被優化&#xff08;例如緩存到寄存器或重排序&#xff09;&#xff0c;以確保所有線程都能看到最新的值。這使得 volatile 成為一種輕量級…

【區塊鏈安全 | 第三十五篇】溢出漏洞

文章目錄 溢出上溢示例溢出漏洞溢出示例漏洞代碼代碼審計1. deposit 函數2. increaseLockTime 函數 攻擊代碼攻擊過程總結修復建議審計思路 溢出 算術溢出&#xff08;Arithmetic Overflow&#xff09;&#xff0c;簡稱溢出&#xff08;Overflow&#xff09;&#xff0c;通常分…

百度的deepseek與硅基模型的差距。

問題&#xff1a; 已經下載速度8兆每秒&#xff0c;請問下載30G的文件需要多長時間&#xff1f; 關于這個問題。百度的回答如下&#xff1a; ?30GB文件下載時間計算? ?理論計算?&#xff08;基于十進制單位&#xff09;&#xff1a; ?單位換算? 文件大小&#xff1a;3…

車載診斷架構 --- 特殊定義NRC處理原理

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 周末洗了一個澡,換了一身衣服,出了門卻不知道去哪兒,不知道去找誰,漫無目的走著,大概這就是成年人最深的孤獨吧! 舊人不知我近況,新人不知我過…

面試題ing

1、js中set和map的作用和區別? 在 JavaScript 中&#xff0c;Set 和 Map 是兩種非常重要的集合類型 1、Set 是一種集合數據結構&#xff0c;用于存儲唯一值。它類似于數組&#xff0c;但成員的值都是唯一的&#xff0c;沒有重復的值。Set 中的值只能是唯一的&#xff0c;任何…

Python爬蟲第6節-requests庫的基本用法

目錄 前言 一、準備工作 二、實例引入 三、GET請求 3.1 基本示例 3.2 抓取網頁 3.3 抓取二進制數據 3.4 添加headers 四、POST請求 五、響應 前言 前面我們學習了urllib的基礎使用方法。不過&#xff0c;urllib在實際應用中存在一些不便之處。以網頁驗證和Cookies處理…

Go 學習筆記 · 進階篇 · 第一天:接口與多態

&#x1f436;Go接口與多態&#xff1a;繼承沒了&#xff0c;但自由炸裂&#xff01; 最近翻 Go 的代碼&#xff0c;突然看到這么一段&#xff1a; type Animal interface {Speak() string }我一愣&#xff0c;咦&#xff1f;這不就是 Java 里常見的“接口”嗎&#xff1f; …

信息學奧賽一本通 1929:【04NOIP普及組】火星人 | 洛谷 P1088 [NOIP 2004 普及組] 火星人

【題目鏈接】 ybt 1929&#xff1a;【04NOIP普及組】火星人 洛谷 P1088 [NOIP 2004 普及組] 火星人 【題目考點】 1. 深搜回溯 2. STL next_permutation函數 頭文件<algorithm> 函數定義&#xff1a;next_permutation(lb, ub, cmp) lb&#xff1a;區間下界&#xff…

借助 AI 工具使用 Python 實現北京市店鋪分布地理信息可視化教程

一、項目概述 本項目通過 Python 的pyecharts庫&#xff0c;結合 AI 工具輔助代碼編寫與邏輯梳理&#xff0c;實現北京市店鋪數量分布及區域連線的地理信息可視化&#xff0c;最終生成交互式地圖圖表。 二、準備工作 1. 環境與工具 Python 環境&#xff1a;確保已安裝 Pyth…

Python項目打包指南:PyInstaller與SeleniumWire的兼容性挑戰及解決方案

前言 前段時間做一個內網開發的需求&#xff0c;要求將selenium程序打包成.exe放在內網的win7上運行&#xff0c;在掘金搜了一圈也沒有發現相關文章&#xff0c;因此將過程中踩到的坑記錄分享一下。 本文涵蓋了具體打包操作、不同模塊和依賴項的兼容性解決方案&#xff0c;以…

(一)棧結構、隊列結構

01-線性結構-數組-棧結構 線性結構&#xff08;Linear List)是由n&#xff08;n>0)個數據元素&#xff08;結點&#xff09; a[0], a[1], a[2], a[3],...,a[n-1]組成的有限序列 數組 通常數組的內存是連續的&#xff0c;所以在知道數組下標的情況下&#xff0c;訪問效率是…

【學Rust寫CAD】35 alpha_mul_256(alpha256.rs補充方法)

源碼 // Calculates (value * alpha256) / 255 in range [0,256], // for [0,255] value and [0,256] alpha256. pub fn alpha_mul_256(self,value: u32) -> Alpha256 {let prod value * self.0;Alpha256((prod (prod >> 8)) >> 8) }代碼分析 這個函數 alph…

C# 與 相機連接

一、通過組件連接相機 需要提前在VisionPro里面保存一個CogAcqFifoTool相機工具為 .vpp 定義一個相機工具 CogAcqFifoTool mAcq null;將保存的相機工具放入mAcq中 string path “C:\Acq.vpp”; mAcq (CogAcqFifoTool)CogSerializer.LoadObjectFrommFile(path);給窗口相機…

Java并發編程高頻面試題

一、基礎概念 1. 并行與并發的區別&#xff1f; 并行&#xff1a;多個任務在多個CPU核心上同時執行&#xff08;物理上同時&#xff09;。并發&#xff1a;多個任務在單CPU核心上交替執行&#xff08;邏輯上同時&#xff09;。類比&#xff1a;并行是多個窗口同時服務&#x…

LiT and Lean: Distilling Listwise Rerankers intoEncoder-Decoder Models

文章&#xff1a;ECIR 2025會議 一、動機 背景&#xff1a;利用LLMs強大的能力&#xff0c;將一個查詢&#xff08;query&#xff09;和一組候選段落作為輸入&#xff0c;整體考慮這些段落的相關性&#xff0c;并對它們進行排序。 先前的研究基礎上進行擴展 [14,15]&#xff0c…

Python高級爬蟲之JS逆向+安卓逆向1.2節: 變量與對象

目錄 引言&#xff1a; 1.2.1 Python中的變量 1.2.2 變量的命名與可讀性 1.2.3 Python中的對象 1.2.4 跟大神學高級爬蟲安卓逆向 引言&#xff1a; 大神薯條老師的高級爬蟲安卓逆向教程&#xff1a; 這套爬蟲教程會系統講解爬蟲的初級&#xff0c;中級&#xff0c;高級知…

可發1區的超級創新思路(python 實現):一種輕量化的動態稀疏門控網絡

首先聲明,該模型為原創!原創!原創!且該思路還未有成果發表,感興趣的小伙伴可以借鑒! 一、應用領域 視頻異常檢測、生成視頻檢測。 二、模型解析 該模型由1.關鍵幀動態選擇機制、2.關鍵幀動態選擇機制以及3.關鍵幀動態選擇機制三大核心組件構成,形成端到端的視頻異常…

使用NVM下載Node.js管理多版本

提示&#xff1a;我解決這個bug跟別人思路可能不太一樣&#xff0c;因為我是之前好用&#xff0c;換個項目就不好使了&#xff0c;倦了 文章目錄 前言項目場景一項目場景二解決方案&#xff1a;下載 nvm安裝 nvm重新下載所需Node 版本nvm常用命令 項目結構說明 前言 提示&…