Alt_Shift

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

POST               

传递参数使用requestBody,长度不会受到限制,而且参数隐藏所以安全性较高,当浏览器回退的时候POST会重新传输参数,浏览器也不会对你的传输日志进行存储,post请求支持多种编码

GET

传递参数使用URL,长度收到浏览器的限制,参数暴露在url下所以安全性较低,浏览器回退的时候get不会重新传输,浏览器会对get请求的url进行保存,get请求只支持url编码

相同:

但是本质上POST和GET都是tcp/ip协议,所以本质上并没有什么区别,只是在传递参数的时候get也可以向body中添加数据,post也可以在url中添加数据,但是浏览器可能不会支持,判断post和get之后就默认的从body和url中获取参数了,并不会理会其他地方的参数。

Biggest different

浏览器在POST传递参数的时候会发送两个tcp数据包,但是GET直发送一个tcp数据包,

post:先发送一个header不包含任何数据,告诉服务器接下来我要开始传数据了,准备好接收吧

get:直接将header和数据全部传输过去

 

问题:

1.POST和GET如何选择?

POST传递参数安全性比较高,当你进行重要的数据传递时候譬如密码,使用POSt

get传输参数直接暴露,传输的时候只发送一个tcp包,所以效率比较好,进行分页的时候可以使用get方法,我看大多数网站的分页也都是使用的get方法,而且暴露出来还方便传播且浏览器还能记住

 

posted on 2020-06-18 21:56  Alt_Shift  阅读(164)  评论(0编辑  收藏  举报