简说 get post 的区别和用途
程序员文章站
2022-03-01 18:01:27
...
每日一点tips
最近碰到有人在讨论这个,还有带有主观色彩认为“post 比 get 好”。这里也简单写写。
说到post和get的区别和优缺点,一般都会提到get方式在url上的长度限制,以及url上面那一长串显示给某些算是“强迫症”的用户带来一点点的不舒适(或者是因为东西在url上显示出来让人感觉有点不好,或者按照某人说法,url上东西越少‘感觉’越好些吧)。想当初我被传递这一个概念的时候,也懵逼地觉得好像有道理……
言归正传,网上也有很多更详细的解释,这里就简单罗列几点:
get 和 post本质一样: HTTP协议中发送请求的两种方法,都是TCP链接。
- post 优点和用途:
各浏览器商和服务器商对url做了长度限制,也就直接影响了get发送的数据长度。
post数据不会被主动缓存。
进行数据新增和更改的时候用post 方式。毕竟表单提交的内容多而且总有会涉及到些敏感数据。
- get 优点和用途
get的速度比post快一点点。因为post在发送数据之前需要先发送header,在得到100响应后再继续发送 内容。而get是一步到位。
get在浏览器回退时不会再次提交请求,post会。
进行搜索查询时用get方式。
最后再提一点,当真的碰上有的用户提出当进行搜索的时候url上面的内容能不能去掉这种时候,我想我们应该是以专业的角度跟人家说这种get方式进行查询是更合适,而至于所顾虑的安全问题本质上在查询这种场景中用post也一样存在。毕竟问的人是不够专业然后拿一点“似乎这样会更好”的想法来提,而要是为了满足这“看上去感觉更好”的想法而让我们不采用更合理的get方式,本身就不能接受……除非是要定制,那就是另一个话题咯。