GET和POST兩種方法都是將數據送到服務器,但你該用哪一種呢?
HTTP標準包含這兩種方法是為了達到不同的目的。POST用于創建資源,資源的內容會被編入HTTP請示的內容中。例如,處理訂貨表單、在數據庫中加入新數據行等。
當請求無副作用時(如進行搜索),便可使用GET方法;當請求有副作用時(如在數據庫添加數據行),則用POST方法。一個比較實際的問題是:GET方法可能會產生很長的URL,或許會超過某些瀏覽器與服務器對URL長度的限制。
若符合下列任一情況,則用POST方法:
- 請求的結果有持續性的副作用,例如,數據庫內添加新的數據行。
- 若使用GET方法,則表單上收集的數據可能讓URL過長。
- 要傳送的數據不是采用7位的ASCII編碼。
- 請求是為了查找資源,HTML表單數據僅用來幫助搜索。
- 請求結果無持續性的副作用。
- 收集的數據及HTML表單內的輸入字段名稱的總長不超過1024個字符。