GET和POST區別和用法

來源:互聯網
上載者:User

標籤:

很多人都分不清GET與POST的區別,以及什麼時候用GET?什麼時候用POST? 
GET和POST兩種方法都是將資料送到伺服器,但你該用哪一種呢? 
HTTP標準包含這兩種方法是為了達到不同的目的。POST用於建立資源,資源的內容會被編入HTTP請示的內容中。例如,處理訂貨表單、在資料庫中加入新資料行等。 
當請求無副作用時(如進行搜尋),便可使用GET方法;當請求有副作用時(如在資料庫添加資料行),則用POST方法。一個比較實際的問題是:GET方法可能會產生很長的URL,或許會超過某些瀏覽器與伺服器對URL長度的限制。 
若符合下列任一情況,則用POST方法: 

請求的結果有持久性的副作用,例如,資料庫內添加新的資料行。     
若使用GET方法,則表單上收集的資料可能讓URL過長。     
要傳送的資料不是採用7位的ASCII編碼。 
  
    若符合下列任一情況,則用GET方法:  
     
請求是為了尋找資源,HTML表單資料僅用來協助搜尋。     
請求結果無持久性的副作用。     
收集的資料及HTML表單內的輸入欄位名稱的總長不超過1024個字元。

表單提交中Get和Post方式的區別
1. get是從伺服器上擷取資料,post是向伺服器傳送資料。

  2. get是把參數資料隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。使用者看不到這個過程。

  3. 對於get方式,伺服器端用Request.QueryString擷取變數的值,對於post方式,伺服器端用Request.Form擷取提交的資料。

  4. get傳送的資料量較小,不能大於2KB。post傳送的資料量較大,一般被預設為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。

  5. get安全性非常低,post安全性較高。

 

HTML表單Form中的get和post方法

在B/S應用程式中,前台與背景資料互動,都是通過Html中Form表單完成的。Form提供了兩種資料轉送的方式??get和post。雖然它們都是資料的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對資料產生嚴重的影響。雖然為了方便的得到變數值,Web容器已經屏蔽了二者的一些差異,但是瞭解二者的差異在以後的編程也會很有協助的。
  Form中的get和post方法,在資料轉送過程中分別對應了HTTP協議中的GET和POST方法。二者主要區別如下:
  1、Get是用來從伺服器上獲得資料,而Post是用來向伺服器上傳遞資料。
  2、Get將表單中資料的按照variable=value的形式,添加到action所指向的URL後面,並且兩者使用“?”串連,而各個變數之間使用“&”串連;Post是將表單中的資料放在form的資料體中,按照變數和值相對應的方式,傳遞到action所指向URL。
  3、Get是不安全的,因為在傳輸過程,資料被放在請求的URL中,而如今現有的很多伺服器、
Proxy 伺服器或者使用者代理程式都會將請求URL記錄到記錄檔中,然後放在某個地方,這樣就可能會有一些隱私的資訊被第三方看到。另外,使用者也可以在瀏覽器上直接看到提交的資料,一些系統內部訊息將會一同顯示在使用者面前。Post的所有操作對使用者來說都是不可見的。
  4、Get傳輸的資料量小,這主要是因為受URL長度限制;而Post可以傳輸大量的資料,所以在
上傳檔案只能使用Post(當然還有一個原因,將在後面的提到)。
  5、Get限制Form表單的資料集的值必須為ASCII字元;而Post支援整個ISO10646字元集。
  6、Get是Form的預設方法。

GET和POST區別和用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.