定義
1.http協議(超文字傳輸協議):它可以使瀏覽器更高效,網路傳輸減少。它不僅保證正確快速的傳輸文字,還能確定那一部分內容首先顯示(如文字先於圖形)。
2.http是乙個應用層協議,由請求和響應構成,是乙個標準的客戶端伺服器模型,http是乙個無狀態的協議。並且永遠都是客戶端發起請求,伺服器回送響應。
在tcp/ip協議棧中的位置
3.http經常掛載於tcp/ip之上,有時也承載於tls、ssl之上,這個時候就成了我們常說的https。
工作流程
4.一次http操作稱之為乙個事務,其工作過程分為四步
1、首先,客戶機與伺服器需要建立連線。(ps。只要單擊某個鏈結,http的工作就會開始)
2、建立連線後,客戶機傳送乙個請求給伺服器,請求方式的格式為:統一資源識別符號(url),協議版本號,後面是mime資訊,包括請求修飾符,客戶機資訊和可能的內容。
3、伺服器接到請求以後,給予相應的響應資訊,其格式為乙個狀態行,乙個成功或錯誤的**,後面是mime資訊,包括伺服器資訊,實體資訊和可能的內容。
4、客戶端接收服務端返回的資訊通過瀏覽器顯示在使用者的顯示屏上。對於使用者來說,這些資訊是http自己完成的,使用者只要用滑鼠點選,等待顯示資訊就可以了。
解釋什麼是mime(多用途網際網路郵件拓展型別):設定某種拓展名的檔案,用一種應用程式來開啟的方式型別,當該拓展名檔案被訪問的時候,瀏覽器會自動使用制定的應用程式來開啟,多用於指定一些客戶端定義的檔名,以及一些**開啟的方式。
了解tcp三次握手工作的整個過程
瀏覽器向伺服器傳送連線請求,此為tcp三次握手的第一步。
伺服器回應了瀏覽器的請求,並要求確認,此為tcp三次握手的第二步。
瀏覽器回應了伺服器的確認,連線成功,此為tcp三次握手的第三步。
了解http工作的整個過程
位址解析:示例http://localhost:8080/index.htm
從中分解出協議名,主機名,物件路徑,等資訊
協議名:http
主機名:localhost:8080
物件路徑:/index.htm
2. 封裝http請求資料報
把以上部分結合本機自己的資訊,封裝成乙個http請求資料報。
3.封裝tcp包,建立tcp連線(tcp三次握手)
在http開始工作之前,客戶機首先要通過網路與伺服器建立連線,該連線時通過tcp來完成,該協議與ip協議共同構建internet,即著名的tcp/ip協議,http是比tcp更高層次的應用層協議,根據規則,只有在低層次協議建立後,才能建立更高層次的連線,因此首先要建立tcp連線。
4. 客戶機傳送請求命令,請求格式為:統一資源識別符號,協議版本號,後面是mime資訊,包括請求修飾符,客戶機資訊和可能的內容。
5. 伺服器響應:伺服器接到請求後,給予響應資訊,其格式為乙個狀態行,包括資訊的協議版本號,乙個成功或錯誤的**,後面是mime資訊,包括伺服器資訊,實體資訊,和可能內容。
6.伺服器關閉tcp連線:一般情況下,一旦伺服器傳送了請求資料,它就會關閉tcp連線,然後如果瀏覽器或伺服器在其頭資訊加入了這行**,
connection:keep-alive
tcp連線在傳送後仍然保持開啟狀態,於是瀏覽器可以通過相同的連線傳送請求,節省了建立連線所花的時間,還節約了網路頻寬。
http幾個重要的概念
1.連線connection
乙個傳輸層的實際環流,它是建立在兩個相互通訊的應用程式之間。
在http1.1中:request和response的頭中,都有可能出現乙個connection的頭,此header的含義是,當client和server通訊時對於長連線如何進行處理。
client和server都是預設支援對方長連線的,如果client使用http1.1,但是又不希望使用長連線,則需要在client中指明header的connection為close,如果server也不想支援長連線則在response中也要指明connection為close,不論request還是response中包含了close的connection,都表明當前在使用的tcp連線在當次請求處理完畢後會關掉,以後client在重新請求時必須重新建立tcp連線。
2.訊息:message:http通訊的基本單元,包括乙個結構化的八元陣列序列,並通過連線傳輸。
3.請求:request:乙個客戶端到伺服器的請求包括:應用於資源的方法,資源的識別符號和協議的版本號。
4.響應:response:包括http版本號,請求狀態和mime。
5.資源resource:uri標識的網路資源物件,
5.實體entity:它可能包含在乙個請求或響應的,乙個實體包括實體頭資訊和實體的本身內容。
6.客戶機client:乙個未傳送請求而建立連線的應用程式。
8.伺服器server:乙個接受連線並返回資訊的應用程式。
9.originserver:乙個給定資源並可以在上面駐留的伺服器。
10.proxy:乙個中間程式,可以充當乙個伺服器,也可以充當乙個客戶機,為其他客戶機建立請求。
**經常作為通過防火牆的客戶機端的門戶,**還可以作為乙個幫助應用來通過協議處理還沒有被使用者**完成的請求。
11.快取cache:響應資訊的區域性儲存。
12.閘道器:gateway:乙個作為其他伺服器中間媒介的伺服器,與**不同的是,閘道器接受請求就好像對被請求的資源來說,它就是伺服器,發出請求的服務機沒有意識到它是在和閘道器打交道。
13.通道:tunel:是兩個連線的中介程式,一旦被啟用,通道被認為不屬於http通訊,儘管通道可能是乙個被http初始化的,當中繼連線兩段關閉時,通道就消失。
當乙個門戶(portal)必須存在或中介(intermediary)不能解釋中繼的通訊時通道被經常使用。
前端基礎(http協議相關篇)
網路協議篇 1.http請求過程 dns解析 tcp三次握手 建立tcp連線後發起http請求 伺服器響應http請求 瀏覽器得到資源 瀏覽器渲染 2.http報文 通用首部 可以出現在請求報文,也可出現在響應報文 請求報文 請求行 包含請求方法和請求url 請求頭部 header 空行和請求資料4...
http協議總結 網路基礎篇
tcp ip是網際網路相關的各類協議族的總稱。協議中存在各種各樣的內容,從電纜的規格到ip位址的選定方法。尋找異地使用者的方法。雙發建立通訊的順序,以及web頁面顯示需求的處理 如上圖,是對tcp ip協議的一種描述。分層管理 tcp,ip協議按層次分分為 應用層 傳輸層 網路層 資料鏈層 應用層 ...
http協議之基礎概念篇(1)
內容概述 該篇主要內容概述 a.http相關術語解析 b.http的基本原理與工作流程 c.相關工具的使用 wireshark 作用介紹 絕大多數的web開發,都是構建在http協議之上的。http協議 hypertext transfer protocol,超文字傳輸協議 是用於從www伺服器傳輸...