GET與POST
GET也能拿來存取資料嗎
可以,但是請不要做這種事情。
使用GET的時候,我們通常會以query的方式帶參數到後端:
1
| "https://www.ex.com/page?q=test"
|
因為參數帶到後端了,所以再來就看後端怎麼拿那些參數表演了。
瀏覽器也會限制GET的query長度,甚至會紀錄傳遞過的參數。
GET不適合帶機敏性資料,只允許使用ASCII。
1 2 3 4 5 6 7 8 9 10
| GET /?id=xxxxx&password=xxxxx HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 GTB7.1 ( .NET CLR 3.5.30729) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-tw,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: UTF-8,* Keep-Alive: 115 Connection: keep-alive
|
POST
不能說是很安全的,因為還是可以查看封包內的body
傳遞的參數不會被瀏覽器紀錄
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| POST / HTTP/1.1 Host: xxx.toright.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 GTB7.1 ( .NET CLR 3.5.30729) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-tw,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: UTF-8,* Keep-Alive: 115 Connection: keep-alive Content-Type: application/x-www-form-urlencoded </code><code>Content-Length: 9 id=xxxxx&password=xxxxx
|