HTTP協議簡單總結
1、HTTP協議的主要特點
- 簡單快速: 每個uri(統一資源識別符號)是固定的,因此處理簡單
- 靈活: 通過1個HTTP協議可以完成不同資料型別的傳輸
- 無連線: 連線一次就會斷掉,不會保持連線
- 無狀態: 服務端不會儲存之前連線的狀態,無快取
2、HTTP報文
- 請求報文
- 請求行: 包含HTTP方法、頁面地址、HTTP協議以及版本
- 請求頭: key/value值告訴服務端所請求的內容
- 空行: 不可省略,用於區分請求頭與請求行
- 請求體
- 相應報文
- 狀態行
- 響應頭
- 空行
- 相應體
3、HTTP方法
- Get : 獲取資源
- Post: 傳輸資源
- Put: 更新資源
- Delete: 刪除資源
- Head: 獲取報文首部(類似於GET)
- Track: 回顯伺服器收到的請求, 測試/診斷用
- Options: 允許客戶端檢視服務端的效能
- Connect: HTTP代理
4、GET與POST的區別
- GET在瀏覽器回退時是無害的(不會重複提交),而POST會再次提交請求 ☆
- GET產生的URL地址可以被收藏, 而POST不可以
- GET請求會被瀏覽器主動快取, 而POST不會,需要手動設定 ☆
- GET請求只能進行URL編碼,POST支援多種編碼方式
- GET請求引數會完整的被儲存在瀏覽器歷史記錄,而POST的引數不會被保留 ☆
- GET請求在URL中傳送的引數是有長度限制的(一般為2kb),而POST沒有 ☆
- GET引數的資料型別只接受ASCII字元,而POST沒有限制
- GET比POST更不安全,資料暴露在URL上,不能用來傳遞敏感資訊
- GET引數通過URL傳遞,POST放在Request Body中 ☆
5、狀態碼
- 1xx : 指示資訊 - 表示請求已接收,繼續處理
- 2xx : 成功 - 表示成功已被成功接收
- 200 OK - 客戶端請求成功
- 206 Partial Content - 客戶端傳送了一個帶有Range頭的GET請求,伺服器完成了他
- 3xx : 重定向 - 要完成請求必須進行更進一步操作
- 301 Moved Permanentil - 永久重定向
- 302 Found - 臨時重定向
- 304 Not Modified - 客戶端有緩衝的文件併發出了一個條件性的請求,服務端告訴客戶,原來緩衝的文件還可以使用
- 4xx : 客戶端錯誤
- 400 Bad Request - 客戶端請求有語法錯誤,不能被服務端所理解
- 401 Unauthorized - 請求未經允許,當前請求需使用者驗證,這個狀態碼必須和WWW-Authenticate報頭域一起使用
- 402 - 預留
- 403 Forbidden - 被請求頁面的訪問被禁止 ,即沒有許可權
- 404 Not Found - 請求的資源不存在
- 5xx : 服務端錯誤
- 500 Internal Server Error - 伺服器發生不可預期的錯誤,原來緩衝的文件還可以繼續使用
- 501 - 服務端不支援當前請求鎖需要的某個功能
- 502 - 從上游伺服器接收到無效相應
- 503 Server Unavailable - 請求未完成,臨時問題,伺服器臨時過載或宕機,過一段時間可以恢復正常
- 504 - 上游無響應
- 505 - 伺服器拒絕或者不支援使用的HTTP版本
6、持久連線
HTTP協議採用“請求-應答”模式,當使用普通模式,即非Keep-Alive模式時,每個請求/應答客戶端與服務端都要新建立一個連線,完成之後立即斷開連線(HTTP協議為無連線的協議)
當使用Keep-Alive模式時(又稱持久連線,連線重用)時,Keep-Alive功能使客戶端到服務端的連線持久有效,當出現對伺服器的後繼請求時,Keep-Alive功能避免了建立或重新建立連線 。
持久連線僅支援HTTP1.1及以上版本
7、管線化
在使用持久連線的情況下,某個連線上訊息的傳遞類似於:
請求1 -> 相應1 -> 請求2 -> 相應2 -> 請求3 -> 相應3
開啟管線化,某個連線上的訊息變成了類似這樣:
請求1 -> 請求2 -> 請求3 -> 相應1 -> 相應2 -> 相應3
管線化的特點:
- 管線化通過持久連線完成,僅HTTP/1.1支援此技術
- 只有GET和HEAD請求可以進行管線化,而POST則有所限制
- 初次建立連線時不應啟動管線機制,因為對(伺服器)不一定支援HTTP/1.1版本的協議
- 管線化不會影響相應到來的順序,如上面的例子,相應返回的順序並沒有發生改變
- HTTP/1.1要求伺服器端支援管線化,但並不要求服務端也對相應進行管線化處理,只是要求對管線化的請求不失敗即可
- 由於上面提到的伺服器端的問題,開啟管線化很可能並不會帶來大幅度的效能提升,而且很多伺服器端和代理程式對管線化的支援並不友好,因此現代瀏覽器如Chrome和Firefox預設並未開啟管線化支援
相關推薦
HTTP協議簡單總結
1、HTTP協議的主要特點 簡單快速: 每個uri(統一資源識別符號)是固定的,因此處理簡單 靈活: 通過1個HTTP協議可以完成不同資料型別的傳輸 無連線: 連線一次就會斷掉,不會保持連線 無狀態: 服務端不會儲存之前連線的狀態,無快取 2、HTTP報文 請求報文
http協議簡單解析
orm 列表 partial 關閉連接 connect 時移 通過 ont sat HTTP協議(轉載自牛客網不知名大神) 1.簡介 HTTP協議(Hyper Text Transfer Protocol,超文本傳輸協議),是用於從萬維網(WWW:World Wide
HTTP協議學習總結
http消息格式: start line + headers + bodyRequest Message: <method> <request-URL> <version><headers><entity-body> Repsonse Messag
HTTP協議部分總結
AD field 傳輸 http 嘗試 AR 按順序 驗證 支持斷點續傳 HTTP協議 HTTP定義在七層協議中的應用層,TCP解決的是傳輸層的邏輯 HTTP使用TCP而不是UDP的原因在於打開一個網頁必須傳送很多數據,而TCP協議提供傳輸控制,按順序組織數據,和錯
http以及http協議簡單理解
cati .post inter cor moved intern err 瀏覽器歷史記錄 ora HTTP協議是超文本傳輸協議的縮寫,是用於從萬維網(WWW)服務器傳輸超文本到本地瀏覽器的傳送協議;HTTP是一個基於TCP/IP通信協議來傳遞數據(HTML文件, 圖片文件
http 協議簡單介紹
文章目錄 http http 請求 http 響應 http 狀態碼 http 請求方法 http 工作原理 參考 http HTTP協議是Hyper
HTTP協議知識總結
簡介: HTTP協議是Hyper Text Transfer Protocol(超文字傳輸協議)的縮寫,是一個基於TCP/IP通訊協議來傳遞資料(HTML 檔案, 圖片檔案, 查詢結果等)的協議。 HTTP協議工作於客戶端-服務端架構為上。瀏覽器作為HTTP客戶端通過URL
(轉)HTTP協議—— 簡單認識TCP/IP協議
1、什麼是TCP/IP 如果要了解一個人,可以從他歸屬的集體聊起來。我們的HTTP協議就屬於TCP/IP協議家族中的一員,瞭解HTTP協議再整個網路流程中的地位,也能更加充分的理解HTTP協議。 要想了解什麼是TCP/IP協議,就要知道為什麼有這個協議。中國人和中國
HTTP協議簡單介紹
Http協議是超文字傳輸協議的縮寫,是用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的傳送協議。Http協議是一個基於TCP/IP通訊協議來傳輸資料(HTML檔案、圖片檔案、查詢結果等) 瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB瀏覽器傳送所有請求。 HTTP
QT:HTTP協議簡單應用
HTTP協議 QNetworkAccessManager QNetworkReply 《案例》QT實現HTTP文字瀏覽器 /* HTTP文字瀏覽器 - 程式碼演示 */// HttpDialog.h #ifndef HTTPDIALOGH #define HTTPDIAL
HTTP協議知識點總結
三、HTTP協議詳的響應型別 在接收和解釋請求訊息後,伺服器返回一個HTTP響應訊息。 HTTP響應也是由三個部分組成,分別是:狀態行、訊息報頭、響應正文 狀態行格式如下: HTTP-Version Status-Code Reason-Phrase CRLF 其中,HTTP-Version表
HTTP協議—— 簡單認識網路請求過程中使用的協議
大學沒讀計算機專業,所以很多的專業知識都不知道。既然已經從事了IT這個行業,就勢必要去了解下網路底層,雖然實際工作中這些東西用不到。高樓大廈,起於平川。不積跬步,無以至千里,不積小流,無以成江海。我現在的知識結構,就如同空中樓閣。稍微遇到高層次的問題,可能就理解不了了。一棵大樹如果不在剛開始的時候深深的紮根
HTTP協議要點總結(資料包、請求方式)
一、什麼是http協議? 由w3c制訂的一種網路應用層協議,定義了瀏覽器與web伺服器之間通訊的過程以及通訊時所使用的資料格式。 1)通訊的過程
http協議學習-總結
第一部分 HTTP:WEB的基礎第一章 HTTP概述媒體型別 http給每種要通過web傳輸的物件都打上了名為MIME(Multipurpose Internet Mail Extension,多用途因特網郵件擴充套件)型別的資料格式標籤。 Web伺服器會為所有HTTP物件資
圖解HTTP總結(2)——簡單的HTTP協議
HTTP協議是一種不儲存狀態,即無狀態(stateless)協議。HTTP協議自身不對請求和響應之間的通訊狀態進行儲存。也就是說在HTTP這個級別,協議對於傳送過的請求或響應都不做持久化處理。 使用HTTP協議
簡單認識http協議
理論 med jpg dss 一個人 應用層 利用 隔離 網絡 1、什麽是TCP/IP 如果要了解一個人,可以從他歸屬的集體聊起來。我們的HTTP協議就屬於TCP/IP協議家族中的一員,了解HTTP協議再整個網絡流程中的地位,也能更加充分的理解HTTP協議。
分針網——每日分享:HTTP協議理解與應用總結
http 應用總結 領取免費IT資料 加群:272292492 更多文章:www.f-z.cn Request & Response Re
圖解Http協議(二章簡單的Http協議)
客戶 持久化 請求方法 體驗 cnblogs 圖解 重要 cookies logs 先放上我的思維導圖 個人感覺這個就是一個和我們平常聊天一樣 來,我們一起拿起手中的手機,體驗一把http之旅 在一個風和日麗的午後,鐵柱剛從工地搬磚回來,吃飽喝足,整了點小酒。然後抹了
HTTP 簡單總結
查詢 tcp/ip 網絡傳輸 優點 臨時性 modified unix系統 因特網 判斷 1. 一次完整的HTTP事務是怎樣的一個過程? 基本流程: a. 域名解析 b. 發起TCP的3次握手 c. 建立TCP連接後發起http請求 d. 服務器端響應htt
基於HTTP協議的輕量級開源簡單隊列服務:HTTPSQS[轉]
海量數據 短信 最大 ima 站內搜索 功能 .html 調用 python HTTPSQS(HTTP Simple Queue Service)是一款基於 HTTP GET/POST 協議的輕量級開源簡單消息隊列服務,使用 Tokyo Cabinet 的 B+Tree K