什麼是HTTP協議?
HTTP協議是Hyper Text Transfer Protocol(超文字傳輸協議)的縮寫,是用於全球資訊網(WWW:World Wide Web )伺服器與本地瀏覽器之間傳輸超文字的傳送協議。HTTP是一個屬於應用層的物件導向的協議,由於其簡捷、快速的方式,適用於分散式超媒體資訊系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完善和擴充套件。HTTP協議工作於客戶端-服務端架構為上。瀏覽器作為HTTP客戶端透過URL向HTTP服務端即WEB伺服器傳送所有請求。Web伺服器根據接收到的請求後,向客戶端傳送響應資訊。
1、HTTP協議特性
-
-
基於請求-響應模式
-
無狀態儲存
-
短連線和長連線
HTTP1.0預設使用的是短連線。瀏覽器和伺服器每進行一次HTTP操作,就建立一次連線,任務結束就中斷連線。 HTTP/1.1起,預設使用長連線。要使用長連線,客戶端和伺服器的HTTP首部的Connection都要設定為keep-alive,才能支援長連線。
- 完整URL格式:協議、ip、埠、路徑、引數 例如:https://www.baidu.com/s?wd=部落格園
- 協議:https
- ip/域名:www.baidu.com
- 埠:80
- 路徑:/s 直到遇見?為止
- 引數:wd=部落格園
- 請求協議格式(瀏覽器組裝)
- 響應協議格式(伺服器組裝)
3、get請求和post請求
HTTP 協議是用於在客戶端(如瀏覽器)和伺服器之間傳輸資料的協議。它定義了多種請求方法,其中最常用的兩種是 GET 和 POST 請求。以下是對這兩種請求的詳細介紹:
GET 請求
-
定義:GET 請求用於從伺服器獲取資料。它是無副作用的,即不會對伺服器上的資源產生改變。
-
特點:
-
引數傳遞:請求引數通常附加在 URL 中,透過
?
和&
分隔。例如:https://example.com/api?name=John&age=30
。 -
限制:URL 的長度有限制,這通常取決於瀏覽器和伺服器,實現上大約為 2000 字元,因此不適合傳遞大量資料。
-
安全性:因為引數在 URL 中明文顯示,所以 GET 請求不適合傳遞敏感資訊(如密碼)。
-
POST 請求
-
定義:POST 請求用於向伺服器傳送資料,通常用於建立或更新資源。
-
特點:
-
引數傳遞:請求引數包含在請求體中,而不是 URL 中。這使得可以傳遞大量資料。
-
靈活性:可以處理多種型別的資料,比如 JSON、XML、表單資料等。
-
安全性:雖然 POST 請求比 GET 請求更安全(因為資料不暴露在 URL 中),但仍需透過 HTTPS 進行加密,以保護敏感資訊。
-