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