HTTP是 HyperText Transfer Protocol。
超文本指的是HTML坊谁,css爱榕,JavaScript和圖片等弃舒,HTTP的出現(xiàn)是為了接收和發(fā)布HTML頁面臊诊,經(jīng)過不斷的發(fā)展也可以用于接收一些音頻鸽粉,視頻,文件等內(nèi)容抓艳。
HTTP協(xié)議是用于客戶端和服務(wù)器端之間的通信触机,用于客戶端和服務(wù)器端之間的通信有HTTP協(xié)議和TCP/IP協(xié)議族在內(nèi)的其他眾多的協(xié)議。
請求訪問文本或圖片等資源的一方玷或,我們叫做客戶端儡首;負責(zé)接收,提供響應(yīng)的一方稱為服務(wù)器端偏友。
Client客戶端請求Server服務(wù)端蔬胯,Server服務(wù)端響應(yīng)給Client客戶端。HTTP是基于客戶端/服務(wù)端的架構(gòu)模型位他,瀏覽器或其他任何客戶端都可以用HTTP協(xié)議的氛濒,通過URL地址向HTTP的服務(wù)器即Web服務(wù)器發(fā)送所有請求,Web服務(wù)器端在接收到請求后會做出反應(yīng)鹅髓,響應(yīng)給對方舞竿,就是向客戶端回傳響應(yīng)的信息。
注意:在使用HTTP協(xié)議的時候窿冯,我們一端必定是客戶端骗奖,另一端必定是服務(wù)器端。
有時候服務(wù)端和客戶端是可以互換的醒串,如果要決定誰是服務(wù)器端和誰是客戶端重归,單就一條通信路線來講,是可以確定的厦凤,因為由HTTP協(xié)議就可以區(qū)分誰是客戶端,和誰是服務(wù)器端了育苟。
通過發(fā)送信息(請求)和回應(yīng)信息(響應(yīng))
通過發(fā)送信息(請求)和回應(yīng)信息(響應(yīng))達成交易(通信)
通過請求和響應(yīng)的交互達成通信较鼓,客戶端發(fā)送請求給服務(wù)器,服務(wù)器響應(yīng)回復(fù)給客戶端违柏〔├茫客戶端是發(fā)出請求的,服務(wù)器端是回復(fù)響應(yīng)的漱竖。
先是從客戶端開始建立通信的禽篱,因為在服務(wù)器在沒有接受到請求前是不會發(fā)送響應(yīng)的。
HTTP的特點:
支持客戶端馍惹、服務(wù)器端模式躺率,簡單快速玛界,客戶端向服務(wù)器端請求服務(wù)時,只需傳送請求方法和路徑悼吱,靈活慎框,HTTP允許傳輸任意類型的數(shù)據(jù)對象,無連接后添,限制每次連接只處理一個請求笨枯,無狀態(tài),HTTP協(xié)議是無狀態(tài)協(xié)議遇西,指明協(xié)議對于事務(wù)處理沒有記憶能力馅精。
HTTP都是由客戶端發(fā)起請求的,并且由服務(wù)器端回應(yīng)響應(yīng)消息的粱檀。
靈活洲敢,我們知道允許可以任何類型的數(shù)據(jù)對象,包括音頻梧税,視頻沦疾,圖片,文件等等第队。
無狀態(tài)哮塞,HTTP就是說,每次HTTP請求都是獨立的凳谦,任何兩個請求之間沒有必然的聯(lián)系忆畅。
無連接的,每次服務(wù)器在處理完客戶端的請求后尸执,并收到客戶的應(yīng)答后家凯,就斷開了通信,當(dāng)客戶端再次發(fā)送請求時就是一個新的連接如失,采用這種方式可以節(jié)省傳輸時間绊诲。
這是HTTP/1.0版的主要缺點,每個TCP連接只能發(fā)送一個請求褪贵,發(fā)送數(shù)據(jù)完畢后掂之,連接就關(guān)閉了,如果還要請求就必須要新建一個請求連接脆丁。
HTTP是一種不保存狀態(tài)世舰,無狀態(tài)協(xié)議,協(xié)議對于發(fā)送過來的請求或是響應(yīng)都不做持久化處理槽卫。
TCP連接的新建成本很高跟压,因為需要客戶端和服務(wù)器端三次握手。
交流的簡單流程:客戶端發(fā)起連接歼培,客戶端發(fā)起請求震蒋,服務(wù)器端響應(yīng)請求茸塞,服務(wù)器端關(guān)閉連接。