## 1.簡介
HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用于從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。
HTTP協議工作于客戶端-服務端B/S架構為上。
瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發送所有請求。Web服務器根據接收到的請求后,向客戶端發送響應信息。
## 2.請求方法
GET:向指定資源發出顯示請求
HEAD:和GET一樣,但是不傳回所有資源內容
POST:向指定資源提交數據,數據被包含在請求中
PUT:向指定位置上傳
DELETE:刪除所標識的資源
OPTIONS:這個方法可使服務器傳回該資源所支持的所有HTTP請求方法。
用'*'來代替資源名稱,向Web服務器發送OPTIONS請求,可以測試服務器功能是否正常運作
## 3.URL簡析
協議://域名:端口/虛擬目錄/文件名?參數#錨點
例如:http://www.baidu.com:80/temp/index.php?tn=1#section1
## 4.請求信息
發出的請求信息包括以下幾個:
* 請求行(例如GET /images/logo.gif HTTP/1.1,表示從/images目錄下請求logo.gif這個文件)
* 請求頭(例如Accept-Language: zh)
* 空行
* 其他消息體
## 5.協議狀態碼
* 1xx:指示信息--表示請求已接收,繼續處理
* 2xx:成功--表示請求已被成功接收、理解、接受
* 3xx:重定向--要完成請求必須進行更進一步的操作
* 4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
* 5xx:服務器端錯誤--服務器未能實現合法的請求
### 常見狀態碼
200 OK //客戶端請求成功
400 Bad Request //客戶端請求有語法錯誤,不能被服務器所理解
401 Unauthorized //請求未經授權,這個狀態代碼必須和WWW-Authenticate報頭域一起使用
403 Forbidden //服務器收到請求,但是拒絕提供服務
404 Not Found //請求資源不存在,eg:輸入了錯誤的URL 500 Internal Server Error //服務器發生不可預期的錯誤
503 Server Unavailable //服務器當前不能處理客戶端的請求,一段時間后可能恢復正常