1. 程式人生 > >HTTP協議請求格式

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請求方式。