数据传递
GET参数通过url传递; 而POST将数据放在请求体 (request body)中;GET请求在url中传递的参数有长度上的限制, 而POST 请求没有(有关传参长度误区详见下方说明);POST相对于GET更安全,因为POST请求的数据在地址栏上不可见, 而GET请求参数直接暴露在 url 中,故不能用来传递敏感信息;
本质区别
GET 是用来从服务器上 获得 数据, 而 POST 是用来向服务器上 传递 数据;
缓存区别
GET请求类似于查找的过程, 用户获取数据,可以不用每次都与数据库连接, 所以可以使用缓存;POST一般用于进行修改和删除, 必须与数据库交互,所以不能使用缓存;
使用场景
GET 请求:
- 请求是为了查找资源;
- 请求结果
无持续性的副作用; - 收集的数据及html 表单内的输入字段名称的总长不超过1024 个字符;
POST 请求:
- 请求的结果有
持续性的作用; - 若使用
GET方法,则表单上收集的数据可能让 URL 过长; - 要传送的数据不是采用ASCII 编码;
GET 请求传参长度的误区
上文提到
GET 请求参数的大小存在限制, 而post 请求的参数大小是无限制的;这样说并不是完全准确的, 原因如下:
HTTP 协议从未规定GET/POST 的请求长度限制是多少;- 对
GET请求参数的限制是来源于浏览器或web 服务器,浏览器或web 服务器限制了url 的长度; 不同的浏览器和WEB 服务器,限制的最大长度不一样, 例如:- 要支持IE,则最大长度为2083byte;
- 若只支持Chrome,则最大长度8182byte;
最后
以上就是彩色大神最近收集整理的关于GET 请求与 POST 请求的区别 以及 有关GET 请求传参长度的误区GET 请求传参长度的误区的全部内容,更多相关GET内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复