書名: 《TCP-IP詳解卷3:TCP事務協議》
章節: 第13章 HTTP:超文本傳送協議

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

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

協議說明:
    HTTP超文本專輸協議,從1990年開始在WWW上廣泛應用,是現今WWW上應用得最多的協議,目前的版本是1.1
    HTTP是應用層的協議,當你上網瀏覽網頁的時候,瀏覽器和WEB服務器之前就會
通過HTTP在Internet上進行數據的發送和接收
    HTTP是一個基于請求/響應模式的、無狀態的協議

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

HTTP協議頭:
 
 |-------------------------------------------------------|
 |頭名稱                       | 請求? | 響應? |  主體?  |
 |-------------------------------------------------------|
  |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 |            |    ●     |              |
  |-------------------------------------------------------|
 
  關于頭信息的詳細解釋參見 RFC2616 http://www.faqs.org/rfcs/rfc2616.html
 
HTTP響應代碼
 服務器程序響應的第一行叫狀態行。狀態行以H T T P版本號開始,后面跟著3位數字表示
響應代碼,最后是易讀的響應短語
 |---------------------------------------------------|
 |響應代碼|            說明          |
 |---------------------------------------------------|
 |  1yz   | 信息型,當前不用             |
 |---------------------------------------------------|
 |     | 成功                    |
 |  200  |  OK,請求成功               |
 |  201  |  OK,新的資源建立(post命令)        |
 |  202  |  請求被接受,但處理未完成        |
 |  204  |  OK,但沒有內容返回            |
 |---------------------------------------------------|
 |        | 重定向;需要用戶代理執行更多的動作    |
 |  301   |  所請求的資源已被指派為新的固定URL     |
 |  302   |  所請求的資源臨時位于另外的URL       |
 |  304   |  文檔沒有修改(條件GET)           |
 |---------------------------------------------------|
 |        | 客戶差錯                 |
 |  400   |  錯誤的請求               |
 |  401   |  未被授權;該請求要求用戶認證      |
 |  403   |  不明原因的禁止             |
 |  404   |  沒有找到                |
 |---------------------------------------------------|
 |        | 服務器差錯                |
 |  500   |  內部服務器差錯             |
 |  501   |  沒有實現                |
 |  502   |  錯誤的網關;網關或上游服務器來的無效響應|
 |  503   |  服務暫時失效              |
 |---------------------------------------------------|