浅谈get和post的区别
在工作中,一般发ajax请求,查询一般会用get请求,添加会用post请求,修改一般才用put请求,删除一般使用delete请求。那么常用的get的请求和post请求有什么区别呢?
首先get请求会在URL后面携带参数传递给后台,如下图:
http:www.xxx.com?id=1
可以看到在网址后缀通过k=v的形式,把id为1传递给后台进行查询,所以get请求一般的用途是用来查询,get请求因为参数直接暴露在URL上,所以不能用来传递敏感信息,所以get请求并不安全,日常工作中基本作用就是查询。
反之,post通过request body传递参数,意为通过报文体传递数据。post请求在传递参数上并不在url后面添加参数,相对于get请求,比较安全。多用于作表单上传,图片上传。
那么两个区别有:
1,get通过url传参,post通过报文体传参。
2,get请求只能进行url编码,而post支持多种编码方式。
3,get请求参数会被完整保留在浏览器历史记录里,而post中的参数不会被保留。
4,get请求在URL中传送的参数是有长度限制的,而post基本没有上限。
5,get比post更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
6,get请求一般用去请求获取数据,post一般作为发送数据到后台时使用。
7,get请求便于分享,而post请求不便于分享。
这是我自己小总结的区别, 有很多不足,各位大神可以多指点沟通~~