1. 程式人生 > >HTTP方法中的GET和POST區別

HTTP方法中的GET和POST區別

HTTP1.1中的八個方法

1.GET     請求獲取Request-URI所標識的資源
2.POST    在Request-URI所標識的資源後附加新的資料
3.HEAD    請求獲取由Request-URI所標識的資源的響應訊息報頭
4.PUT     請求伺服器儲存一個資源,並用Request-URI作為其標識
5.DELETE  請求伺服器刪除Request-URI所標識的資源
6.TRACE   請求伺服器回送收到的請求資訊,主要用於測試或診斷
7.CONNECT 保留將來使用
8.OPTIONS 請求查詢伺服器的效能,或者查詢與資源相關的選項和需求

我們瀏覽網頁然後抓包來看基本上都是GET和POST方法,其它的不太常用

抓包分析HTTP協議:

1)請求行

圖上是瀏覽器瀏覽網頁抓取到的包,可以看出請求行的資訊,method、request-URL、version三部分資訊

(2)請求首部

由關鍵字+關鍵字的值組成,之間使用“:”進行分隔,格式Name:Value,請求首部的作用是通過客戶端將請求的相關內容告知伺服器端,首部可以不止一個。

(3)空白行

請求首部之後會有一個空白行,通過傳送回車字元和換行符,用於通知伺服器端以下的內容將不會再出現請求首部的資訊。

(4)請求實體(entity-body)

 

 

上圖就是請求的實體,抓表的路徑及內容。

 GET和POST區別:

實際上在HTTP協議中,Method是哪個並不影響它的Data的傳輸,兩者是沒有直接關係的。HTTP沒有對GET和POST方法的長度作限制,從根本上來講的話區別只在於一個是用來獲取資料,一個是修改。

在web開發中我們流傳一種說法就是GET比POST安全,GET的URL長度會有限制,GET使用URL或Cookie傳參,而POST則放在BODY中,其實這只是HTML對HTTP協議的使用方法。