前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >总结:GET与POST请求方法有什么区别

总结:GET与POST请求方法有什么区别

作者头像
用户1272076
发布2021-09-08 16:00:15
1.2K0
发布2021-09-08 16:00:15
举报
文章被收录于专栏:张培跃张培跃

发现很多前端小伙伴的简历当中都写有这么一句:了解http协议。其实大可不必,因为http是前端基础中的基础。这就相当于一位厨师的简历中写着:熟练使用炊具。

既然简历中出现这个知识点,那么紧随而来的便是面试官的提问:get与post方法有什么区别呢?

大部分面试者都只会从单词字面上回答:get是从服务器获取数据,而post是向服务器传送数据。

很显然上面的回答是无法让面试官信服的,下面是我对这两种请求方法的一些总结:


首先get和post都是http请求的方法。而http又是基于TCP/IP的应用层通信协议。所以本质上来说get和post请求是没有区别的,都是TCP链接。他们能做的事情也都是一样的(与服务器进行交互)。换言之:get能做的事,post也可以做,反之亦可!

http协议提供这两种方法,也是在特定的情况下区分应用:

1、参数位置:get请求的参数是放在url(query)里面的。而POST请求的参数是放置在请求体(content)里面的。当然post请求也是可以放置在url当中的。

2、浏览器缓存:get请求可以被浏览器缓存,而post请求不能被缓存。

3、参数长度:get请求参数由于是在url里面,所以会受到浏览器的长度限制,浏览器的不同长度的数值也不同,比如IE是2083字节。理论上讲,POST是没有大小限制的。因为HTTP协议规范没有进行大小限制。

4、参数安全性:同样是因为get的请求参数放置在url里,所以可见,再加上会被浏览器缓存,所以安全性比较差。post请求的参数是放置在请求体里,且不会被缓存,所以安全性相对就好一些。

5、浏览器访问:get请求可以通过浏览器直接访问,支持刷新和后退。post请求是不能被浏览器直接访问的,刷新后数据会重新传送。

6、RESTful架构:在该架构中get扮演获取数据的角色,而post扮演的是添加数据的角色。所以get对数据是无害的,不会对数据资源造成影响。而post使用不当,有可能对原有数据资源造成伤害。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 张培跃 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档