POST與GET

轉載自:http://blog.csdn.net/liujiahan629629/article/details/17585899


看過很多人寫GETPOST之間的區別,爲什麼這麼多人關注它們呢?因爲它們是最常用的兩種HTTP方法,之間有很多相同之處,也存在非常大的不同。首先了解一下HTTP方法:


       什麼是HTTP?     超文本傳輸協議(HTTP)的實際目的是保證客戶機與服務器之間的通訊,即請求-應答協議。web瀏覽器可能是客戶端,而計算機上的應用程序也可能是服務端。舉例:客戶端(瀏覽器)向服務器提交HTTP 請求;服務器向客戶端返回響應。響應包含關於請求的狀態信息以及可能被請求的內容。


       GETPOST正是此功能最常用的兩種方法:1GET- 從指定的資源請求數據;2POST- 向指定的資源提交被處理的數據,其實就是這兩個英文的翻譯吧!

 

         看看這兩種方法的比較:

 

GET

POST

後退按鈕/刷新

無害

數據會被重新提交(瀏覽器應該告知用戶數據會被重新提交)。

書籤

可收藏爲書籤

不可收藏爲書籤

緩存

能被緩存

不能緩存

編碼類型

application/x-www-form-urlencoded

application/x-www-form-urlencoded  multipart/form-data。爲二進制數據使用多重編碼。

歷史

參數保留在瀏覽器歷史中。

參數不會保存在瀏覽器歷史中。

對數據長度的限制

是的。當發送數據時,GET 方法向 URL 添加數據;URL 的長度是受限制的(URL 的最大長度是 2048 個字符)。

無限制。

對數據類型的限制

只允許 ASCII 字符。

沒有限制。也允許二進制數據。

安全性

 POST 相比,GET 的安全性較差,因爲所發送的數據是 URL 的一部分。

在發送密碼或其他敏感信息時絕不要使用GET 

POST  GET 更安全,因爲參數不會被保存在瀏覽器歷史或 web 服務器日誌中。

可見性

數據在 URL 中對所有人都是可見的。

數據不會顯示在 URL 中。

在JQuery中語法

$.get(URL,callback);

 

$.post(URL,data,callback);

 

 

例子:GET:

[html] view plain copy
 print?
  1. <span style="font-size:18px;"><!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>  
  5.         <script>  
  6.             $(document).ready(function(){  
  7.               $("button").click(function(){  
  8.                 $.get("/example/jquery/demo_test.asp",function(data,status){  
  9.                   alert("數據:" + data + "\n狀態:" + status);  
  10.                 });  
  11.               });  
  12.             });  
  13.         </script>  
  14.     </head>  
  15.     <body>  
  16.         <button>向頁面發送 HTTP GET 請求,然後獲得返回的結果</button>  
  17.     </body>  
  18. </html>  
  19. </span>  

        POST:

[html] view plain copy
 print?
  1. <span style="font-size:18px;"><!DOCTYPE html>  
  2.     <html>  
  3.     <head>  
  4.         <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">  
  5.         </script>  
  6.         <script>  
  7.             $(document).ready(function(){  
  8.               $("button").click(function(){  
  9.                 $.post("/example/jquery/demo_test_post.asp",  
  10.                 {  
  11.                   name:"Donald Duck",  
  12.                   city:"Duckburg"  
  13.                 },  
  14.                 function(data,status){  
  15.                   alert("數據:" + data + "\n狀態:" + status);  
  16.                 });  
  17.               });  
  18.             });  
  19.         </script>  
  20.     </head>  
  21.     <body>  
  22.         <button>向頁面發送 HTTP POST 請求,並獲得返回的結果</button>  
  23.     </body>  
  24. </html>  
  25. </span>  

          綜上爲簡單的GETPOST之間的恩怨訴說,很多之間的區別必須等我們實踐過,對比過,才能體會的更深,這裏只是提前知道一下!更多的還需要我們在項目中時間來體會的更多!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章