http協(xié)議版本與各版本新增的功能(附http狀態(tài)碼與含義)

HTTP(超文本傳輸協(xié)議)是用于傳輸超媒體文檔(例如HTML)的應(yīng)用層協(xié)議。這是Web上所有數(shù)據(jù)交換的基礎(chǔ)。以下是HTTP的主要版本以及每個(gè)版本新增的功能的概括:

HTTP/0.9

  • 發(fā)布年份: 1991
  • 主要特性:
    • 只有一個(gè)命令GET
    • 沒(méi)有HEADER等元數(shù)據(jù)。
    • 服務(wù)器發(fā)送完畢,就關(guān)閉TCP連接。

HTTP/1.0

  • 發(fā)布年份: 1996
  • 主要特性:
    • 引入了新的HTTP方法(如POSTHEAD)。
    • 狀態(tài)碼的引入,用于表示服務(wù)器的響應(yīng)狀態(tài)。
    • HTTP頭的引入,允許傳輸元數(shù)據(jù)。
    • 支持多種類型的MIME類型。
    • 無(wú)狀態(tài)的連接但每個(gè)請(qǐng)求/響應(yīng)對(duì)都打開(kāi)一個(gè)新的連接。

HTTP/1.1

  • 發(fā)布年份: 1997
  • 主要特性:
    • 持久連接(連接復(fù)用),減少了建立和關(guān)閉連接的頻率。
    • 引入了分塊傳輸編碼,允許響應(yīng)數(shù)據(jù)分塊發(fā)送。
    • 新增緩存處理指令(如ETags)。
    • 更多的HTTP方法(如OPTIONS, PUT, DELETE, TRACECONNECT)。
    • 支持虛擬主機(jī)(一個(gè)IP可以托管多個(gè)域名)。
    • 提供了對(duì)管道化的支持(允許在前一個(gè)請(qǐng)求響應(yīng)之前發(fā)送下一個(gè)請(qǐng)求)。

HTTP/2

  • 發(fā)布年份: 2015
  • 主要特性:
    • 二進(jìn)制協(xié)議,不再是純文本。
    • 多路復(fù)用,單一連接上可以并行交錯(cuò)的請(qǐng)求和響應(yīng)。
    • 頭信息壓縮(HPACK),減少了頭部大小。
    • 服務(wù)器推送,服務(wù)器可以對(duì)一個(gè)客戶端請(qǐng)求發(fā)送多個(gè)響應(yīng)。
    • 提高了安全性(經(jīng)常與TLS結(jié)合使用)。

HTTP/3

  • 發(fā)布年份: 正在開(kāi)發(fā)中,未正式發(fā)布。
  • 主要特性:
    • 基于QUIC協(xié)議,這是一個(gè)新的傳輸層網(wǎng)絡(luò)協(xié)議。
    • QUIC內(nèi)建TLS加密支持,改進(jìn)了安全性和連接時(shí)延。
    • 改進(jìn)的擁塞控制。
    • 連接遷移,允許連接在網(wǎng)絡(luò)改變時(shí)保持不中斷。
    • 更快的連接啟動(dòng)時(shí)間。

在Web開(kāi)發(fā)中,HTTP狀態(tài)碼用于表示服務(wù)器對(duì)HTTP請(qǐng)求的響應(yīng)狀態(tài)。以下是一些常用的HTTP狀態(tài)碼及其含義:

1xx - 信息響應(yīng)

  • 100 Continue - 客戶端應(yīng)繼續(xù)其請(qǐng)求
  • 101 Switching Protocols - 服務(wù)器根據(jù)客戶端的請(qǐng)求切換協(xié)議

2xx - 成功

  • 200 OK - 請(qǐng)求成功,操作被成功接收并處理
  • 201 Created - 請(qǐng)求已經(jīng)被實(shí)現(xiàn),而且有一個(gè)新的資源已經(jīng)依據(jù)請(qǐng)求的需要而建立
  • 202 Accepted - 請(qǐng)求已接受,但尚未處理
  • 204 No Content - 服務(wù)器成功處理了請(qǐng)求,但不需要返回任何實(shí)體內(nèi)容

3xx - 重定向

  • 301 Moved Permanently - 請(qǐng)求的網(wǎng)頁(yè)已永久移動(dòng)到新位置
  • 302 Found - 服務(wù)器目前從不同位置的網(wǎng)頁(yè)響應(yīng)請(qǐng)求,但請(qǐng)求者應(yīng)繼續(xù)使用原有位置來(lái)進(jìn)行以后的請(qǐng)求
  • 304 Not Modified - 自從上次請(qǐng)求后,請(qǐng)求的網(wǎng)頁(yè)未修改過(guò)

4xx - 客戶端錯(cuò)誤

  • 400 Bad Request - 服務(wù)器無(wú)法理解請(qǐng)求的格式,客戶端不應(yīng)該嘗試再次使用相同的內(nèi)容進(jìn)行請(qǐng)求
  • 401 Unauthorized - 請(qǐng)求未授權(quán),這個(gè)狀態(tài)代碼表示當(dāng)前請(qǐng)求需要用戶驗(yàn)證
  • 403 Forbidden - 服務(wù)器理解請(qǐng)求客戶端的請(qǐng)求,但是拒絕執(zhí)行此請(qǐng)求
  • 404 Not Found - 服務(wù)器找不到請(qǐng)求的網(wǎng)頁(yè)
  • 405 Method Not Allowed - 請(qǐng)求行中指定的請(qǐng)求方法不能被用于請(qǐng)求相應(yīng)的資源
  • 429 Too Many Requests - 客戶端的請(qǐng)求次數(shù)超過(guò)限額

5xx - 服務(wù)器錯(cuò)誤

  • 500 Internal Server Error - 服務(wù)器遇到了一個(gè)未曾預(yù)料的狀況,導(dǎo)致它無(wú)法完成對(duì)請(qǐng)求的處理
  • 501 Not Implemented - 服務(wù)器不支持當(dāng)前請(qǐng)求所需要的某個(gè)功能
  • 502 Bad Gateway - 作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請(qǐng)求時(shí),從上游服務(wù)器接收到無(wú)效的響應(yīng)
  • 503 Service Unavailable - 由于臨時(shí)的服務(wù)器維護(hù)或者過(guò)載,服務(wù)器當(dāng)前無(wú)法處理請(qǐng)求
  • 504 Gateway Timeout - 作為網(wǎng)關(guān)或代理的服務(wù)器,未及時(shí)從上游服務(wù)器接收請(qǐng)求
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容