close

在Web的世界中, client 和 server 兩者之間最常做的動作就是 Request-Response(要求-回應),用戶端送一個要求(Request),而伺服器回應訊息(Response)。
所以我們要了解HTTP Request的方法。HTTP Request 的方法有二種: GET and  POST,這二者之間有何差別。

HTTP Request 方法二種:


(1) Get 方法:當表單 Submit 之後瀏覽器的網址就變成 "/test/demo_form.php/?id=010101",瀏覽器會自動將表單內容轉為 Query String 加在 URL 進行連線。

客戶端傳送形式: <form action="接收資料的程式" method="get">

伺服器接收形式:這個鍵值配對會被存入request.GET中,用request.GET['變數名']可以得到值 

  • GET requests 會儲存在快取區。
  • GET requests 會儲在客戶端瀏覽器的歷史區。
  • GET requests 可以被標示。
  • GET requests 不要使用在敏感性資料。
  • GET requests 有長度限制。
  • GET requests 應該僅使用在擷取資料。
  • GET requests 資料會顯示在URL上。
  • GET requests 網址會帶有 HTML Form 表單的參數與資料。
  • GET requests 只接受ASCII字符。

(2) Post 方法:POST 是將表單資料放在 message-body 進行傳送。

客戶端傳送形式<form action="接收資料的程式" method="post">

伺服器接收形式:這個鍵值配對會被存入request.POST中,用request.POST['變數名']可以得到值 

  • POST requests 不會儲存在快取區
  • POST requests 不會儲在客戶端瀏覽器的歷史區
  • POST requests 不可以被標示。
  • POST requests 沒有長度限制。
  • POST requests 資料傳遞時,網址並不會改變。
  • POST requests 字符類型没有限制。

注意: GET 的URL 會顯示出Query 字串,而Query 字串內包含變數名/資料,所以會比較不安全,建議含有密碼的資訊不要使用這種方法。

回Django Web 程式設計主目錄

 

 

arrow
arrow
    文章標籤
    Post Get
    全站熱搜

    stanley 發表在 痞客邦 留言(0) 人氣()