天天看點

HTTP協定GET和POST的差別

HTTP常用的請求方式是GET和POST

         GET方式:是以實體的方式得到由請求URI所指定資源的資訊,如果請求URI隻是一個資料産生過程,那麼最終要在響應實體中傳回的是處理過程的結果所指向的資源,而不是處理過程的描述。

         POST方式:用來向目的伺服器送出請求,要求它接受被附在請求後的實體,并把它當作請求隊列中請求URI所指定資源的附加新子項

Post被設計成用統一的方法實作下列功能:

         1:對現有資源的解釋;

         2:向電子公告欄、新聞討論區、郵件清單或類似讨論組發資訊;

         3:送出資料塊;

         4:通過附加操作來擴充資料庫 。

         從上面描述可以看出,Get是向伺服器發索取資料的一種請求;而Post是向伺服器送出資料的一種請求,要送出的資料位于資訊頭後面的實體中。

GET與POST方法有以下差別:

         (1) 在用戶端,Get方式在通過URL送出資料,資料在URL中可以看到;POST方式,資料放置在HTML HEADER内送出。

         (2)   GET方式送出的資料最多隻能有1024位元組,而POST則沒有此限制。

         (3) 安全性問題。正如在(1)中提到,使用 Get 的時候,參數會顯示在位址欄上,而 Post 不會。是以,如果這些資料是中文資料而且是非敏感資料,那麼使用 get;如果使用者輸入的資料不是中文字元而且包含敏感資料,那麼還是使用 post為好。

         (4) 安全的和幂等的。所謂安全的意味着該操作用于擷取資訊而非修改資訊。幂等的意味着對同一 URL 的多個請求應該傳回同樣的結果。完整的定義并不像看起來那樣嚴格。換句話說,GET 請求一般不應産生副作用。從根本上講,其目标是當使用者打開一個連結時,她可以确信從自身的角度來看沒有改變資源。比如,新聞站點的頭版不斷更新。雖然第二次請求會傳回不同的一批新聞,該操作仍然被認為是安全的和幂等的,因為它總是傳回目前的新聞。反之亦然。POST 請求就不那麼輕松了。POST 表示可能改變伺服器上的資源的請求。仍然以新聞站點為例,讀者對文章的注解應該通過 POST 請求實作,因為在注解送出之後站點已經不同了(比方說文章下面出現一條注解)。

作者:

​​千裡和他的軟體測試​​

軟體測試學習交流:

​​軟體測試交流群 172489141​​

銀行金融業務交流:

​​新網銀測試群 52304542​​

接口自動化性能交流:

​​一個正經的測試群 188427938​​

繼續閱讀