書名: 《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 | 服務暫時失效 |
|---------------------------------------------------|