HTTP Methods的GET
與POST
request的區別如下。
GET
GET
用來查詢資料。
GET
屬於Safe Methods,也屬於Idempotent Methods。
GET
不允許有message body。
GET
夾帶的參數會附在URI後面,例如http://www.abc.com?id=A0001&page=12
GET
的參數會存在瀏覽紀錄(browsing history)。
GET
可以加入書籤(bookmark)。
GET
的參數有長度限制,一般來說整個uri長度不應超過2048 characters (2KB),依瀏覽器及伺服器的規格決定。
GET
不應用於傳輸機敏資料例如密碼,因為參數是直接附加在URL後面,任何人都看得到。
GET
可以被cache。
菜鳥工程師-肉豬
POST
POST
用來新增資料。
POST
不屬於Safe Methods,也不屬於Idempotent Methods。
POST
有message body
POST
夾帶的參數不會附在URI後面,而是放在request body(message body)。
POST / HTTP/1.1
Host: http://www.abc.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 15
id=A0001&qty=12
POST
的參數不會存在瀏覽紀錄
POST
無法加入書籤,正確地說是可以加入書籤,但因為夾帶的參數不是附在uri後面,不會被儲存,所以加入書籤沒有意義。
POST
的參數無長度限制。
POST
用於傳輸機敏資料例如密碼,但儘管如此POST
仍不是安全的,因為雖然參數不夾帶於URI後,但body的內容仍是以未加密的原始資料傳輸,應搭配HTTPS加密傳輸才比較安全。
POST
不會被cache。
沒有留言:
張貼留言