HTTP協議 常用 總結

HTTP協議 常用 總結


寫在前面:最近各種事情,一邊整項目,一邊各種找實習,各種受鄙視,很久沒有更新博客了。其實,大神都是,BLOG是寫給自己看的。確實是這樣,記錄下自己的學習過程,以後方面複習。廢話不多說了~~

①    http協議是建立在tcp/ip協議基礎上

②    http協議全稱 超文本傳輸協議

③    http協議1.0 , 1.1版本 ,目前通用的是1.1版本

http1.0 稱爲短連接    http1.1 稱爲長連接.

所謂長,和短指的是  持續時間的 長連接 1.1 30s ,短連接是發送完數據就斷掉. 


Http協議

HTTP 協議的主要特點可概括如下:

1.支持客戶/服務器模式。

2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯繫的類型不同。由於HTTP 協議簡單,使得HTTP 服務器的程序規模小,因而通信速度很快。

3.靈活:HTTP 允許傳輸任意類型的數據對象。正在傳輸的類型Content-Type 加以標記。

4.無連接:無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開連接。採用這種方式可以節省傳輸時間。

5.無狀態:HTTP 協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味着如果後續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在服務器不需要先前信息時它的應答就較快。


Http 請求由三部分組成,分別是:請求行、消息報頭、請求正文



基本結構:

[消息頭格式 (消息名內容 )


GET /test/hello.html HTTP/1.1 [請求行]

Accept: */*  [消息名消息名:內容

Referer: http://localhost:8080/test/abc.html  

Accept-Language: zh-cn

User-Agent: Mozilla/4.0

Accept-Encoding: gzip, deflate 

Host: http://www.sohu.com:80

Connection: Keep-Alive     

特別說明: 並不是每一次請求的消息頭都一樣.]

空行

發送的內容 [格式 : 內容名字=內容體]


  http請求消息頭

  • 1    Accept: text/html,image/*  [告訴服務器,我可以接受文本,網頁,圖片]
  • 2.   Accept-Charset: ISO-8859-1 [接受字符編碼iso-8859-1]
  • 3.   Accept-Encoding: gzip,compress [可以接受 gzip,compress壓縮後數據.]
  • 4.   Accept-Language: en-us,zh-cn [瀏覽器支持中,英文]
  • 5.   Host: www.sohu.com:80 [我要找主機是www.sohu.com:80]
  • 6.   If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT [ 告訴服務器,我的緩衝中有這個資源文件,該文件的時間是。。。]
  • 7.   Referer: http://www.sohu.com/index.jsp  [告訴服務器,我來自哪裏,該消息頭,常用於防止盜鏈]
  • 8.   User-Agent:Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)[告訴服務器,瀏覽器內核]
  • 9.   Cookie [cookie??]
  • 10. Connection:close/Keep-Alive   [保持連接,發完數據後,我不關閉連接]
  • 11.  Date: Tue, 11Jul 2000 18:23:51 GMT [瀏覽器發送該http請求的時間]



請求行以一個方法符號開頭,以空格分開,後面跟着請求的URI 和協議的版本,格式如下:Method  Request-URI  HTTP-Version CRLF其中Method 表示請求方法;Request-URI 是一個統一資源標識符;HTTP-Version 表示請求的HTTP 協議版本;CRLF 表示回車和換行(除了作爲結尾的CRLF 外,不允許出現單獨的CR 或LF 字符)。

      請求方法(所有方法全爲大寫)有多種,各個方法的解釋如下:

       GET  請求獲取Request-URI 所標識的資源

       POST 在Request-URI 所標識的資源後附加新的數據

       HEAD 請求獲取由Request-URI 所標識的資源的響應消息報頭



狀態代碼由三位數字組成,第一個數字定義了響應的類別,且有五種可能取值:


格式:HTTP版本號 狀態碼 原因敘述

舉例:HTTP/1.1 200 OK

狀態碼                      含義

100-199         表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程

200-299         表示成功接收請求並完成整個處理過程,常用200

300-399         爲完成請求,客戶需要進行一步細化請求。例如:請求的資源已經移動一個新的地址,常用302,307

400-499         客戶端的請求有錯誤404

500-599         服務器端出現錯誤,常用500   



  •   http響應消息頭詳解
  • n  Location: http://www.baidu.org/index.jsp  【讓瀏覽器重新定位到url
  • n  Server:apache tomcat 【告訴瀏覽器我是tomcat
  • n  Content-Encoding: gzip 【告訴瀏覽器我使用 gzip
  • n  Content-Length: 80  【告訴瀏覽器會送的數據大小80節】
  • n  Content-Language: zh-cn 【支持中文】
  • n  Content-Type: text/html; charset=GB2312 [內容格式text/html; 編碼gab2312]
  • n  Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 【告訴瀏覽器,該資源上次更新時間】
  • Refresh: 1;url=http://www.baidu.com 【過多久去,刷新到 http://www.baidu.com
  • Content-Disposition: attachment; filename=aaa.zip 【告訴瀏覽器,有文件下載】
  • n  Transfer-Encoding: chunked  [傳輸的編碼]
  • n  Set-Cookie:SS=Q0=5Lb_nQ;path=/search[後面詳講]
  • Expires: -1[告訴瀏覽器如何緩存頁面IE]
  • n  Cache-Control: no-cache  [告訴瀏覽器如何緩存頁面火狐]
  • n  Pragma: no-cache   [告訴瀏覽器如何緩存頁面]
  • n Connection: close/Keep-Alive  [保持連接 1.1是Keep-Alive]
  • n  Date: Tue, 11 Jul 200018:23:51 GMT



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章