HTTP協議 自從入坑以來,只要是跟web打交道,總是免不了這個HTTP協議,這是什麼鬼,讓我們一探究竟。(不周之處還請賜教!!!) 既然是協議,我們首先要問三個問題,誰跟誰的協議?協議是什麼?怎麼用? 第一個問題: 誰跟誰的協議? 所謂協議,至少需要兩方,甲方and乙方,我們先說下甲方and乙方到 ...
HTTP協議
自從入坑以來,只要是跟web打交道,總是免不了這個HTTP協議,這是什麼鬼,讓我們一探究竟。(不周之處還請賜教!!!)
既然是協議,我們首先要問三個問題,誰跟誰的協議?協議是什麼?怎麼用?
第一個問題:
誰跟誰的協議?
所謂協議,至少需要兩方,甲方and乙方,我們先說下甲方and乙方到底是誰,粗俗的理解,甲方就是我們用的瀏覽器客戶端,乙方就是伺服器--(可以先這樣理解---存儲你想要的頁面的地方),http協議就是他們倆要遵守的協議。
第二個問題:
協議是什麼?
還是要俗,比如說你去超市買東西,你跟售貨員說來一瓶罐裝可口可樂,註意這裡面有三個元素(你,可口可樂,售貨員),你跟售貨員之間就遵循了一份協議。而可口可樂就是這份協議當中的一份內容,你說要罐裝的可口可樂,售貨員就給你拿一罐罐裝的可口可樂,你說要紅茶,售貨員肯定給你拿紅茶而不是其他的東西,這就是是http協議,它定義了你的請求格式,也定義了伺服器的返回格式。你的請求格式:(一瓶,罐裝,可口可樂可樂),如果售貨員有的話-格式(有,一瓶,罐裝,可口可樂),如果沒有的話--格式(沒有)。
官方語言:
HTTP是hypertext transfer protocol(超文本傳輸協議)的簡寫,它是TCP/IP協議的一個應用層協議,用於定義WEB瀏覽器與WEB伺服器之間交換數據的過程。客戶端連上web伺服器後,若想獲得web伺服器中的某個web資源,需遵守一定的通訊格式,HTTP協議用於定義客戶端與web伺服器通迅的格式。
第三個問題:
怎麼用?
http協議就是瀏覽器客戶端跟伺服器之間的協議,你想要訪問一個頁面,而頁面存儲在伺服器,你得向伺服器要,而怎麼要就是你(也就是甲方)要遵循的協議,舉個例子說明
第一個紅色框框:GET是你請求資源的方式,/JavaWebDemoProject/Web/1.jsp----- 你要請求的頁面,HTTP/1.1----http協議的版本,
第二個紅色框框:accept:瀏覽器通過這個頭告訴伺服器,它所支持的數據類型
Accept-Charset: 瀏覽器通過這個頭告訴伺服器,它支持哪種字元集
Accept-Encoding:瀏覽器通過這個頭告訴伺服器,支持的壓縮格式
Accept-Language:瀏覽器通過這個頭告訴伺服器,它的語言環境
Host:瀏覽器通過這個頭告訴伺服器,想訪問哪台主機
If-Modified-Since: 瀏覽器通過這個頭告訴伺服器,緩存數據的時間
Referer:瀏覽器通過這個頭告訴伺服器,客戶機是哪個頁面來的 防盜鏈
Connection:瀏覽器通過這個頭告訴伺服器,請求完後是斷開鏈接還是何持鏈接
既然我們已經發出請求了,剩下的就是伺服器的回應了。
第一個紅色框框:http/1.1還是http協議的版本號,200是狀態碼--指的是對你的請求做出的回應 OK返回狀態的原因,常見的狀態碼貼上:
第二個紅色框框:告訴你的瀏覽器返回內容的類型啊,格式啊,字元編碼啊,大小啊還有伺服器的的一些基本信息啊這些東西吧,不做過多的解釋了。
第三個紅色框框:當然就是你想要頁面的內容了,然後你的瀏覽器接收這些內容,然後以頁面的形式展現給你!
好了,http協議本人理解的就這麼多了,希望對大家有幫助。