詳細介紹http

HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用於從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。點擊這裏瞭解 http 1.0 vs 2.0 區別。

特點

  1. 簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯繫的類型不同。由於HTTP協議簡單,使得HTTP服務器的程序規模小,因而通信速度很快。

  2. 靈活:HTTP允許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。

  3. 無連接:無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開連接。採用這種方式可以節省傳輸時間。

  4. 無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味着如果後續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在服務器不需要先前信息時它的應答就較快。

  5. 支持B/S及C/S模式。

請求消息Request

  1. 請求行,用來說明請求類型,要訪問的資源以及所使用的HTTP版本.

  2. 請求頭部,緊接着請求行(即第一行)之後的部分,用來說明服務器要使用的附加信息從第二行起爲請求頭部,HOST將指出請求的目的地.User-Agent,服務器端和客戶端腳本都能訪問它,它是瀏覽器類型檢測邏輯的重要基礎.該信息由你的瀏覽器來定義,並且在每個請求中自動發送等等

  3. 空行,請求頭部後面的空行是必須的

  4. 請求數據也叫主體,可以添加任意的其他數據。

響應消息Response

  1. 狀態行,由HTTP協議版本號, 狀態碼, 狀態消息 三部分組成。

  2. 消息報頭,用來說明客戶端要使用的一些附加信息

  3. 空行,消息報頭後面的空行是必須的

  4. 響應正文,服務器返回給客戶端的文本信息。

狀態碼

200 OK //客戶端請求成功

301 Moved Permanently //永久重定向,使用域名跳轉

302 Found // 臨時重定向,未登陸的用戶訪問用戶中心重定向到登錄頁面

400 Bad Request //客戶端請求有語法錯誤,不能被服務器所理解

401 Unauthorized //請求未經授權,這個狀態代碼必須和WWW-Authenticate報頭域一起使用

403 Forbidden //服務器收到請求,但是拒絕提供服務

404 Not Found //請求資源不存在,eg:輸入了錯誤的URL

500 Internal Server Error //服務器發生不可預期的錯誤

503 Server Unavailable //服務器當前不能處理客戶端的請求,一段時間後可能恢復正常

http的方法

  1. get:客戶端向服務端發起請求,獲得資源。請求獲得URL處所在的資源。

  2. post:向服務端提交新的請求字段。請求URL的資源後添加新的數據。

  3. head:請求獲取URL資源的響應報告,即獲得URL資源的頭部

  4. patch:請求局部修改URL所在資源的數據項

  5. put:請求修改URL所在資源的數據元素。

  6. delete:請求刪除url資源的數據

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