書名: 《TCP-IP詳解卷3:TCP事務(wù)協(xié)議》
章節(jié): 第13章 HTTP:超文本傳送協(xié)議

    早在大學(xué)時代就想將《TCP-IP詳解卷》I,II,III三卷好好的讀完,工作了之后也一直沒有
去讀,現(xiàn)在做開發(fā)也時常會用到這些知識,經(jīng)常是一知半解的,抽時間我會寫一系列的讀書
筆記,來幫助我及大家更好的學(xué)習(xí)與了解TCP-IP協(xié)議。

名詞解釋:
 超文本傳送協(xié)議(Hypertext Transfer Protocol,H T T P )是萬維網(wǎng)( World Wide We b,W W W,也簡稱為We b )的基礎(chǔ)

協(xié)議說明:
    HTTP超文本專輸協(xié)議,從1990年開始在WWW上廣泛應(yīng)用,是現(xiàn)今WWW上應(yīng)用得最多的協(xié)議,目前的版本是1.1
    HTTP是應(yīng)用層的協(xié)議,當(dāng)你上網(wǎng)瀏覽網(wǎng)頁的時候,瀏覽器和WEB服務(wù)器之前就會
通過HTTP在Internet上進(jìn)行數(shù)據(jù)的發(fā)送和接收
    HTTP是一個基于請求/響應(yīng)模式的、無狀態(tài)的協(xié)議

HTTP協(xié)議請求:
 1) G E T請求,返回re q u e s t - U R I所指出的任意信息。
 2) H E A D請求,類似于G E T請求,但服務(wù)器程序只返回指定文檔的首部信息,而不包含實(shí)
際的文檔內(nèi)容。該請求通常被用來測試超文本鏈接的正確性、可訪問性和最近的修改。
 3) P O S T請求用來發(fā)送電子郵件、新聞或發(fā)送能由交互用戶填寫的表格。這是唯一需要在
請求中發(fā)送b o d y的請求。使用P O S T請求時需要在報(bào)文首部C o n t e n t - L e n g t h字段中
指出b o d y的長度。

HTTP協(xié)議頭:
 
 |-------------------------------------------------------|
 |頭名稱                       | 請求? | 響應(yīng)? |  主體?  |
 |-------------------------------------------------------|
  |Allow                        |            |             |    ●       |
  |Authorization           |  ●      |             |               |
  |Content-Encoding    |            |             |    ●       |
  |Content-Lenght         |            |             |   ●       |
  |Content-Type            |            |             |   ●       |
  |Date                           |  ●      |      ●   |              |
  |Expires                      |            |              |  ●       |
  |From                          |  ●      |             |              |
  |If-Modified-Since     |  ●      |             |              |
  |Last-Modified           |            |             |   ●       |
  |Location                    |            |    ●     |              |
  |MIME-Version         |  ●      |    ●     |              |
  |Pragma                      |  ●      |    ●     |              |
  |Referer                      |  ●      |             |              |
  |Server                        |            |    ●     |              |
  |User-Agnt                 |  ●      |             |              |
  |WWW-Authenticate |            |    ●     |              |
  |-------------------------------------------------------|
 
  關(guān)于頭信息的詳細(xì)解釋參見 RFC2616 http://www.faqs.org/rfcs/rfc2616.html
 
HTTP響應(yīng)代碼
 服務(wù)器程序響應(yīng)的第一行叫狀態(tài)行。狀態(tài)行以H T T P版本號開始,后面跟著3位數(shù)字表示
響應(yīng)代碼,最后是易讀的響應(yīng)短語
 |---------------------------------------------------|
 |響應(yīng)代碼|            說明          |
 |---------------------------------------------------|
 |  1yz   | 信息型,當(dāng)前不用             |
 |---------------------------------------------------|
 |     | 成功                    |
 |  200  |  OK,請求成功               |
 |  201  |  OK,新的資源建立(post命令)        |
 |  202  |  請求被接受,但處理未完成        |
 |  204  |  OK,但沒有內(nèi)容返回            |
 |---------------------------------------------------|
 |        | 重定向;需要用戶代理執(zhí)行更多的動作    |
 |  301   |  所請求的資源已被指派為新的固定URL     |
 |  302   |  所請求的資源臨時位于另外的URL       |
 |  304   |  文檔沒有修改(條件GET)           |
 |---------------------------------------------------|
 |        | 客戶差錯                 |
 |  400   |  錯誤的請求               |
 |  401   |  未被授權(quán);該請求要求用戶認(rèn)證      |
 |  403   |  不明原因的禁止             |
 |  404   |  沒有找到                |
 |---------------------------------------------------|
 |        | 服務(wù)器差錯                |
 |  500   |  內(nèi)部服務(wù)器差錯             |
 |  501   |  沒有實(shí)現(xiàn)                |
 |  502   |  錯誤的網(wǎng)關(guān);網(wǎng)關(guān)或上游服務(wù)器來的無效響應(yīng)|
 |  503   |  服務(wù)暫時失效              |
 |---------------------------------------------------|