HTTP:交互流程:瀏覽器
步驟一:客戶端和服務端創建鏈接安全
步驟二:客戶端發送請求數據到服務器(HTTP協議)服務器
步驟三:服務器端接收到請求後,進行處理,而後將處理結果響應客戶端(Http協議)post
步驟四:關閉客戶端和服務端的鏈接(http1.1後不會當即關閉)性能
HTTP 協議之請求格式:測試
HTTP(1.0) 定義了三種請求方式:GET,POST 和 HEAD 方法。代理
HTTP(1.1)新增了五種請求方法:OPTIONS,PUT,DELETE,TRACE 和 CONNCET 方法。blog
GET: 請求指定的頁面信息,並返回實體主體。資源
HEAD: 相似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭。get
CONNECT: http/1.1 協議中預留給可以將鏈接改成管道方式的代理服務器。
OPTION: 容許客戶端查看服務器的性能
TRACE: 回顯服務器收到的請求,主要用於測試或診斷。
GET 和 POST 請求方式的區別 :
get請求方式: 請求數據會以 ? 的形式隔開拼接在請求頭中,不安全,沒有請求實體部分。
Http 協議雖然沒有規定請求數據的大小,可是瀏覽器對URL的長度是有限制的,因此get請求
不能攜帶大量的數據。
post 請求方式: 請求數據在請求實體中進行發送,在URL中看不到具體的請求數據,安全。適合
數量大的數據發送。
響應格式的結構:
響應行(狀態行):HTTP 版本、狀態碼、狀態消息
響應頭:消息報頭,客戶端使用的附加信息
空行:響應頭和響應實體之間的,必須的。
響應實體:正文,服務器返回給瀏覽器的信息
HTTP 常見響應狀態碼含義:
HTTP 狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼
的類型,後兩個數字沒有分類的做用。HTTP 狀態碼共分爲5 種類型:
常見狀態碼: 200 OK //客戶端請求成功 400 Bad Request //客戶端請求有語法錯誤,不能被服務器所理 解 401 Unauthorized //請求未經受權,這個狀態代碼必須和 WWW-Authenticate 報頭域一塊兒使用 403 Forbidden //服務器收到請求,可是拒絕提供服務 404 Not Found //請求資源不存在,eg:輸入了錯誤的URL 500 Internal Server Error //服務器發生不可預期的錯誤 503 Server Unavailable //服務器當前不能處理客戶端的請求,一段時 間後可能恢復正常