区别一
GET重点从服务器上获取资源,POST重点向服务器发送数据.
区别二
get传输数据是通过URL请求,置于URL后,并用”?”连接,多个请求数据间用”&”连接.post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;
区别三
Get传输的数据量小,因为受URL长度限制,但效率较高;
Post可以传输大量数据,所以上传文件时只能用Post方式;
区别四
get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等;
post较get安全性较高;
区别五
get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。
post支持标准字符集,可以正确传递中文字符
总结一个大神说的:
不就是get拼接url, post传body,get限制字符串长度吗!
请求缓存:get会被缓存,而post不会 !原因就是get是url的请求,没有请求体!上哪缓存去? get可以,而post不能 原因还是因为url可以收藏,请求体上哪收藏!
保留浏览器历史记录:get可以,而post不能 原因还是因为get的url请求!
用处:get常用于取回数据,post用于提交数据 原因是get的url传输不管怎么说,都是有字符数限制的!你用get提交个试试!如果字符串长度不超,一样能提交数据!
安全性:post比get安全 还是因为post是请求体,不会在url上被劫持!
请求参数:querystring 是url的一部分get、post都可以带上。 get的querystring(仅支持urlencode编码),post的参数是放在body(支持多种编码)
请求参数长度限制:get请求长度最多1024kb,post对请求数据没有限制