HTTP協議請求格式
一:HTTP互動流程
其實在上一篇已經對互動流程有一些瞭解,現在引入HTTP協議後我們再結合著說一下。大致分為四步。
1.客戶端根據地址與伺服器建立連線。
2.客戶端向伺服器傳送請求資料。(遵循HTTP協議)
3.伺服器對客戶端發來的請求進行處理,並將處理結果響應給客戶端。(HTTP協議)
4.關閉客戶端和伺服器端的連線。(HTTP協議1.1之後版本不會立即關閉)
二:HTTP協議的請求格式
請求頭:請求方式(post,get..)、請求的地址(URL)和 HTTP 協議版本(2.0或者3.0之類的版本號)
請求行:訊息報頭,一般用來說明客戶端要使用的一些附加資訊(什麼Accept的之類,是給瀏覽器伺服器識別的)
空行: 位於請求行和請求資料之間,空行是必須的(用來隔開)。
請求資料:非必須(比如get方式就直接顯示在位址列,不在這部分顯示。但post方式會把資料放在這裡)。
三:HTTP協議請求方式
在HTTP協議1.0版本的時候主要有三種請求方式。也就是get ,post,head
在HTTP協議1.1版本之後新增了五種。分別是,OPTIONS , PUT , DELETE , TRACE , CONNECT
下面來著重介紹一下post和get:
get 和 post 請求方式的區別:
get 請求方式:
請求資料會以?的形式隔開拼接在請求頭中,不安全,沒有請求實體部分。
HTTP 協議雖然沒有規定請求資料的大小,但是瀏覽器對 URL 的長
度是有限制的(位址列的資料長度沒那麼高),所以 get 請求不能攜帶大量的資料。
post 請求方式:
請求資料在請求實體中進行傳送,在 URL 中看不到具體的請求資料,
安全。適合資料量大的資料傳送。
總結起來就是說。get不安全,適合用於傳輸少量資料。post安全,適合傳輸大量資料。但在實際工作中,安全性的優先順序更高,所有如果對安全性有要求,不管資料量多小,都優先使用post請求方式。