java之http協議


                                               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協議本人理解的就這么多了,希望對大家有幫助。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM