http協議是hyper text transfer protocol(超文字傳輸協議)的縮寫,是用於從全球資訊網(www:world wide web )伺服器傳輸超文字到本地瀏覽器的傳送協議。
http是乙個基於tcp/ip通訊協議來傳遞資料(html 檔案, 檔案, 查詢結果等)。
http是乙個屬於應用層的物件導向的協議,由於其簡捷、快速的方式,適用於分布式超**資訊系統。它於2023年提出,經過幾年的使用與發展,得到不斷地完善和擴充套件。目前在www中使用的是http/1.0的第六版,http/1.1的規範化工作正在進行之中,而且http-ng(next generation of http)的建議已經提出。
http協議工作於客戶端-服務端架構為上。瀏覽器作為http客戶端通過url向http服務端即web伺服器傳送所有請求。web伺服器根據接收到的請求後,向客戶端傳送響應資訊。
靈活:http允許傳輸任意型別的資料物件。正在傳輸的型別由content-type加以標記。
無連線:無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。
無狀態:http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。
http報文是面向文字的,報文中的每乙個欄位都是一些ascii碼串,各個欄位的長度是不確定的。http有兩類報文:請求報文和響應報文。
1. 請求報文
乙個http請求報文由請求行(request line)、請求頭部(header)、空行和請求體4個部分組成,下圖給出了請求報文的一般格式。
2. 響應報文
一般情況下,伺服器接收並處理客戶端發過來的請求後會返回乙個http的響應訊息。http響應也由四個部分組成,分別是:狀態行、訊息報頭、空行和響應正文。
1、位址解析
網域名稱系統dns解析網域名稱,得到主機的ip位址。
2、建立tcp連線
在http工作開始之前,通過tcp套接字,客戶機(web瀏覽器)首先要通過網路與伺服器建立連線,該連線是通過tcp來完成的,該協議與ip協議共同構建internet,即著名的tcp/ip協議族,因此internet又被稱作是tcp/ip網路。http是比tcp更高層次的應用層協議,根據規則,只有低層協議建立之後才能,才能進行更層協議的連線,因此,首先要建立tcp連線,一般tcp連線的埠號是80
3、傳送http請求
通過tcp套接字,客戶端向web伺服器傳送乙個文字的請求報文,乙個請求報文由請求行、請求頭部、空行和請求資料4部分組成。
4、伺服器接受請求並返回http響應
web伺服器解析請求,定位請求資源。伺服器將資源複本寫到tcp套接字,由客戶端讀取。乙個響應由狀態行、響應頭部、空行和響應資料4部分組成。
5、釋放連線tcp連線
若connection 模式為close,則伺服器主動關閉tcp連線,客戶端被動關閉連線,釋放tcp連線;若connection 模式為keepalive,則該連線會保持一段時間,在該時間內可以繼續接收請求;
6、客戶端瀏覽器解析html內容
客戶端瀏覽器首先解析狀態行,檢視表明請求是否成功的狀態**。然後解析每乙個響應頭,響應頭告知以下為若干位元組的html文件和文件的字符集。客戶端瀏覽器讀取響應資料html,根據html的語法對其進行格式化,並在瀏覽器視窗中顯示。
http協議詳解(一)HTTP協議基礎
最近在看一些http的東西,http比較雜,大致整理了一下,用思維導圖的方式呈現了出來。我會分幾個板塊來介紹http協議,具體的板塊也在下面的思維導圖中標註出來了,盡量以簡潔的方式為大家呈現http的內容。初寫部落格,文中有些紕漏的地方還請大家指點。http 超文字傳輸協議,本質上是一種通訊協議。用...
http協議(一) http協議基礎知識
https 安全超文字傳輸協議 ftp 文字傳輸協議 tcp 網路控制協議 ip 網際網路協議 udp 使用者資料協議 等2 什麼是http協議 總結來說 http協議即在瀏覽器和伺服器通訊之間的乙個規則,即協議 它不僅保證計算機正確快速地傳輸超文字文件,還確定傳輸文件中的哪一部分,以及哪部分內容首...
http協議(一) http協議基礎知識
l https 安全超文字傳輸協議 l ftp 文字傳輸協議 l tcp 網路控制協議 l ip 網際網路協議 l udp 使用者資料協議 等http是客戶端瀏覽器或其他程式與web伺服器之間的應用層通訊協議。在internet上的web伺服器上存放的都是超文字資訊,客戶機需要通過http協議傳輸所...