HTTP两种常用请求方法对比

GET 和 POST两种方法是两种最常用的 HTTP 方法,下面来简略的比较一下这两种方法:
 
用他们来做的事不同:
GET:主要用来请求数据,
POST:主要用来提交数据。
 
数据传送的位置不同:

GET:

是在请求的 URL 中发送的
POST:
是在请求的 HTTP 消息主体中发送的:
缓存处理方式的不同:
”GET”:能被缓存;
“POST”:不能缓存。
历史记录:
”GET”:参数保留在浏览器历史中;
“POST”:参数不会保存在浏览器历史中。
对数据长度的限制:
”GET”:会受限制,由于GET 方法由 URL 传递数据,而URL 的最大长度是 2048 个字符,所以会受限制;
“POST”:无限制。
可见性:
”GET”:由于要发送的数据是在 URL 中的,所以所有人都可见;
“POST”:数据不会显示在 URL 中,所以一般人看不到。
后退或者刷新时的差别:
”GET”:对后退或者刷新没有反应;
“POST”:数据会被重新提交(所以有时候在点击后退或者刷新时,浏览器会弹出窗口询问是不是要重新提交数据)。
安全性:
”GET”:没有POST方式安全,说其不如POST方式安全不仅仅是因为传输时数据是在URL中对一般人来说是可见的,还因为数据会被缓存,而且历史记录会被保存;
“POST”:较GET方式安全,但也仅仅是较安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。