HTTP協議簡述

簡介

http協議是我們訪問web站點所使用的協議,又名“超文本傳輸協議”,在OSI網絡模型中處於應用層。

訪問網站的過程:

當我們在瀏覽器正確輸入要訪問的URL後,瀏覽器首先會對輸入的URL進行域名查詢,查詢順序先是在瀏覽器緩存,系統hosts文件,最後纔是本地dns服務器進行遞歸查詢一直到查詢到相應結果爲止
圖片描述

正確的拿到的結果是個IP地址,瀏覽器會對這個IP地址的80端口發送HTTP協議的GET請求報文,其中發送請求前會有個TCP建立連接3次握手的過程,服務器收到請求後返回所請求的資源,然後瀏覽器在對收到的數據進行處理,渲染出相應界面

HTTP請求的方法

GET:獲取資源
POST:傳輸實體數據
PUT:傳輸文件
HEAD:獲得報文首部
DELETE:刪除文件
OPTIONS:詢問支持的方法
TRACE:追蹤路徑
CONNECT:要求用隧道協議連接代理

狀態碼

1xx:指示信息--表示請求已接收,繼續處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--要完成請求必須進行更進一步的操作
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
5xx:服務器端錯誤--服務器未能實現合法的請求
常見狀態代碼、狀態描述、說明:
200 OK //客戶端請求成功
204 No content 若服務器拒絕對PUT、POST或者DELETE請求返回任何狀態信息或表示,那麼通常採用此響應代碼。服務器也可以對GET請求返回此響應代碼,這表明“客戶端請求的資源存在,但其表示是空的”。注意與304("Not Modified")的區別。204常常用在Ajax應用裏。服務器通過這個響應代碼告訴客戶端:客戶端的輸入已被接受,但客戶端不應該改變任何UI元素。
301 Moved Permanently 服務器知道客戶端試圖訪問的是哪個資源,但它不喜歡客戶端用當前URI來請求該資源。它希望客戶端記住另一個URI,並在今後的請求中使用那個新的URI。你可以通過這個響應代碼來防止由於URI變更而導致老URI失效
400 Bad Request //客戶端請求有語法錯誤,不能被服務器所理解
401 Unauthorized //請求未經授權,這個狀態代碼必須和WWW-Authenticate報頭域一起使用
403 Forbidden //服務器收到請求,但是拒絕提供服務
404 Not Found //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error //服務器發生不可預期的錯誤
503 Server Unavailable //服務器當前不能處理客戶端的請求,一段時間後可能恢復正常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章