一.前言:會(huì)使用電腦的人基本上都會(huì)使用IE/Firefox/Chrome等網(wǎng)頁(yè)瀏覽器的地址欄輸入url地址來訪問一個(gè)網(wǎng)站,那么網(wǎng)站頁(yè)面是怎么展現(xiàn)到用戶面前的呢?當(dāng)然web頁(yè)面是不能憑空顯示出來的,瀏覽器根據(jù)用戶輸入的url地址向指定的web服務(wù)器請(qǐng)求資源,然后將請(qǐng)求的資源解析顯示到web頁(yè)面。那么web瀏覽器又是怎樣通過url請(qǐng)求到web頁(yè)面的?web服務(wù)器又是怎么響應(yīng)瀏覽器的請(qǐng)求的?web瀏覽器是通過HTTP(HyperText Transfer Protocl)超文本傳輸協(xié)議作為規(guī)范,來完成客戶端到服務(wù)器端的一系列流程。 二.簡(jiǎn)介:Http協(xié)議是一種廣泛流行的網(wǎng)絡(luò)應(yīng)用層協(xié)議。設(shè)計(jì)HTTP最初的目的是為了提供發(fā)布和接收HTML頁(yè)面的方法。用于客戶端和服務(wù)器端通信的通信的規(guī)則的制定(所謂協(xié)議就是約定的規(guī)則,好比人與人之間的交流沒有約定的規(guī)則是無法交流的).只要是遵守Http協(xié)議的瀏覽器,服務(wù)器之間就可以進(jìn)行通信。 三.HTTP的特點(diǎn):
四.Http優(yōu)缺點(diǎn):http的無連接,采取這種方式可以節(jié)約大量時(shí)間。但是隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)頁(yè)不在是簡(jiǎn)單的靜態(tài)頁(yè)面,需要處理大量的圖片等,這樣每一次訪問都需要建立一次連接效率很低。Http 1.1Keep-Alive 被提出用來解決這效率低的問題。 HTTP的無狀態(tài)這種特性有優(yōu)點(diǎn)也有缺點(diǎn),優(yōu)點(diǎn)在于解放了服務(wù)器,每一次請(qǐng)求“點(diǎn)到為止”不會(huì)造成不必要連接占用,缺點(diǎn)在于每次請(qǐng)求會(huì)傳輸大量重復(fù)的內(nèi)容信息??蛻舳伺c服務(wù)器進(jìn)行動(dòng)態(tài)交互的 Web 應(yīng)用程序出現(xiàn)之后,HTTP 無狀態(tài)的特性嚴(yán)重阻礙了這些應(yīng)用程序的實(shí)現(xiàn),畢竟交互是需要承前啟后的。兩種用于保持 HTTP 連接狀態(tài)的技術(shù)就應(yīng)運(yùn)而生了,一個(gè)是 Cookie,而另一個(gè)則是 Session。 五.HTTP協(xié)議的結(jié)構(gòu):請(qǐng)求報(bào)文:
空行:[CR LF]由它來劃分 報(bào)文主體:應(yīng)該被發(fā)送的數(shù)據(jù)(并不一定要有報(bào)文主體) 響應(yīng)報(bào)文:
空行:同上 報(bào)文主體:同上 Chrome請(qǐng)求www.baidu.com如圖:? 請(qǐng)求和響應(yīng)的內(nèi)容: |
|