码迷,mamicode.com
首页 > Web开发 > 详细

http的get和post的区别

时间:2019-08-26 15:12:10      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:net   jpg   外部   从表   serve   允许   情况   http请求   get请求   

技术图片
内部因素:编码方式,报文
外部因素:缓存[浏览器],长度限制[浏览器],请求次数[浏览器],幂等性/副作用[接口] 安全性

参数编码
get:仅支持url编码,参数需要编码和解码
post:多种编码方式

报文
get:参数放在url
post:参数放在请求体

缓存
get请求会被浏览器缓存
post不会

长度限制
浏览器允许get请求url长度为8k,过长会影响效率
post没有限制

请求次数
get请求一次
post:有的浏览器post的head和body会分开请求,head到达server后,会响应100,然后继续发送body,返回200。所以也会有效率问题,不过网络好的情况下影响不大。

幂等性/副作用
幂等性可查看下方参考链接
get:幂等性,根据语义,get请求只在服务端获取数据,所以每次获取的结果都是一样的。
post:非幂等性,会在服务端更改状态,比如调用了删除接口,下次在调用可能就是返回不存在当前商品了。所以post存在副作用。不过这些都是根据接口有关的认为因素,跟http本身没有关系。

安全性
至于安全性,两个http请求本身都是不安全的,因为http传递数据都是明文发送的,所以加上ssl才能更安全。
但是从表面上看,get请求把参数放在url上是不安全的,所以一定不要在get请求中把敏感信息放在url上。
从副作用的角度上讲,get请求对数据是安全的,因为它只获取数据,不会更改状态。

参考文章
http幂等性
带你深入理解HTTP中GET和POST的区别

http的get和post的区别

标签:net   jpg   外部   从表   serve   允许   情况   http请求   get请求   

原文地址:https://www.cnblogs.com/zhanghaoqi/p/11412212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!