5.Http 協(xié)議
協(xié)協(xié)議:就是兩方及多方的共同簽署的約定(規(guī)則)冲泥、格式
Http: 1.它是一種網(wǎng)絡(luò)協(xié)議,基于網(wǎng)絡(luò)七層協(xié)議中的應(yīng)用層的一種協(xié)議(http協(xié)議是在tcp協(xié)議之上進(jìn)行了封裝)幸冻。
????????????2. 請(qǐng)求/響應(yīng) 模型
????????????3.該協(xié)議是無(wú)狀態(tài)性的(一次請(qǐng)求后咳焚,下次再請(qǐng)求革半,服務(wù)端不能識(shí)別是 同一個(gè)用戶請(qǐng)求又官。換句話說(shuō)服務(wù) ? ? ? ? ? ? ? ?端無(wú)法記錄用戶的狀態(tài))
當(dāng)沒(méi)有一種通訊標(biāo)準(zhǔn)的時(shí)候漫试,瀏覽器、服務(wù)器是無(wú)法進(jìn)行通訊的外构。
5.1請(qǐng)求/響應(yīng) 模型
請(qǐng)求:客戶端瀏覽器寫(xiě)了一封信發(fā)送到服務(wù)端(書(shū)信)
響應(yīng):服務(wù)端收到來(lái)信后审编,應(yīng)該寫(xiě)回信(書(shū)信)
書(shū)信:有書(shū)信的書(shū)寫(xiě)的格式:
To :收信人的地址
Content:內(nèi)容
From :發(fā)信人
瀏覽器客戶端、web服務(wù)器都是在基于http協(xié)議上進(jìn)行通訊。http協(xié)議也有相應(yīng)的格式勘究。
5.2 URL乱顾、URI
Uri:統(tǒng)一資源標(biāo)識(shí)符:標(biāo)識(shí)具體的某一個(gè)資源(資源在網(wǎng)絡(luò)上)
eg: /index.html ?走净、 /xx.jpg......
Url:統(tǒng)一資源定位符:標(biāo)識(shí)具體的某一個(gè)資源(精確)
Url ? = ?協(xié)議 + ?ip(域名) + 端口號(hào) + uri
eg: http://127.0.0.1:80/index.jsp url地址
Ip(域名) : 可以找到網(wǎng)絡(luò)上的服務(wù)主機(jī)
端口:可以找網(wǎng)絡(luò)上服務(wù)主機(jī)的服務(wù)軟件
Uri : 可以找到網(wǎng)絡(luò)上服務(wù)主機(jī)管理的應(yīng)用的資源
總結(jié):uri 要大于 url,因?yàn)閡ri描述的資源更加廣泛伏伯。
5.3 http協(xié)議通訊的格式:
請(qǐng)求格式:
總結(jié):請(qǐng)求格式由請(qǐng)求行说搅、請(qǐng)求頭炸枣、空白行、請(qǐng)求正文構(gòu)成
http協(xié)議1.0 ?vs ?1.1
http1.0協(xié)議:保存跟服務(wù)端短暫的連接 (tcp建立的連接)
一次請(qǐng)求一次響應(yīng)弄唧,tcp建立的連接斷掉
http1.1協(xié)議:支持長(zhǎng)連接(tcp建立的連接)
可以在一次tcp連接中發(fā)送多次http請(qǐng)求
響應(yīng)格式:
總結(jié):響應(yīng)格式由響應(yīng)行适肠、響應(yīng)頭、空行候引、響應(yīng)正文構(gòu)成
5.4 get請(qǐng)求方式 ?VS ?post請(qǐng)求方式
Get方式:
直接在瀏覽器地址欄輸入后回車
頁(yè)面中存在img標(biāo)簽侯养、a標(biāo)簽、link標(biāo)簽澄干、script標(biāo)簽
Post方式:
一般來(lái)說(shuō)表單form標(biāo)簽中的method屬性指定提交方式為POST
區(qū)別(面試題)
1.get 請(qǐng)求方式和 post 請(qǐng)求方式都可以向服務(wù)端提交數(shù)據(jù)
2.get 請(qǐng)求方式請(qǐng)求參數(shù)(要提交的數(shù)據(jù))逛揩,直接書(shū)寫(xiě)在url地址后面,沒(méi)有請(qǐng)求正文麸俘。eg:在瀏覽器地址欄中辩稽,輸入了http://127.0.0.1/index.html?name=lisi&password=123
3.post 請(qǐng)求方式提交數(shù)據(jù)的時(shí)候使用的表單form中的表單域標(biāo)簽提交數(shù)據(jù)的(input、select逞泄、radio、checkbox等)侮腹,輸入域中的值會(huì)寫(xiě)入到請(qǐng)求正文中。
4.get 方式提交的數(shù)據(jù)直接暴露在了瀏覽器的地址欄中加矛,所有對(duì)于提交的數(shù)據(jù)比較敏感的話,不安全已烤。Post提交的數(shù)據(jù)在請(qǐng)求正文中,相對(duì)要安全些
5.get方式請(qǐng)求提交的數(shù)據(jù)的大小有限制裕循。Post方式提交的數(shù)據(jù)理論上是沒(méi)有大小限制的。
6.get方式請(qǐng)求的效率高一些