通过上网搜索查询,总结出get和post请求的区别如下:
GET 被强制服务器支持
浏览器对URL的长度有限制,所以GET请求不能代替POST请求发送大量数据
GET请求发送数据更小
GET请求是安全的
GET请求是幂等的
POST请求不能被缓存
POST请求相对GET请求是「安全」的
还有参考自w3schools的标准答案
- GET在浏览器回退时是无害的,而POST会再次提交请求。
- GET产生的URL地址可以被Bookmark,而POST不可以。
- GET请求会被浏览器主动cache,而POST不会,除非手动设置。
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET请求在URL中传送的参数是有长度限制的,而POST么有。
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
- GET参数通过URL传递,POST放在Request body中。
看完上面这些,我的感受就是:
- 如果你要获取资源,使用 GET
- 如果你要对资源进行处理,使用 POST
但是这两种方式都是针对http协议的,并没有那么安全,还是很容易被破解。作为一个刚刚接触前端学习的人,其实上面这些还只是一些概念,还没来得及去讲每种说法去验证一下,等后面搞明白了,再来补充完善。