get方法和post方法的区别和联系

1、功能不同:
post是向服务器发送数据;
get是向服务器获取数据;
2、过程不同:
get在浏览器回退时是无害的,但是post会再次提交请求;
get请求会被浏览器主动缓存,但是post不会,除非手动设置;
get请求只能进行URL编码,但是post支持多种编码方式;
get请求的参数会保存在浏览器的历史记录中。
get请求在URL中传送的参数是有长度限制的,但是post没有;
get比post更加不安全,因为传送的参数直接暴露在URL上,所以不能来传送敏感信息。
get参数通过URL传送,但是post是放在request body里面的。
3、获取值的方式不同
get方法,服务端使用的是request.queryString();
post方法,服务端使用的是request.form()获取提交的数据。
4、底层记忆方法:
http协议中两种发送请求的方法;HTTP是基于TCP/IP协议关于数据在万维网中如何通信的协议。
在万维网中,TCP是一辆运输数据的车子,但是需要分清每辆车是做什么用的,这样才能够让运输数据有目的性,并且有秩序,所以呢,Http就发挥作用,给每个车子明确标好是坐什么服务:get、post、delete、put等。要使用GET服务时候,就给车一个标签贴着GET,然后将信息放在车顶的URL中,但是车顶的东西不能无限制的放;
而post方法是将要传动的数据放在车厢内,这样敏感信息就更加安全,并且车厢很大,没有限制噻多少数据。
所以说get方法和post方法就是TCP连接。
并且get会产生一个TCP数据包,而post会产生两个TCP数据包。
对于get方法:HTTP会把header和data一起发送出去;服务器响应回来200;对于post方法,HTTP会先发送header,服务器响应100;再发送data,服务器响应200。并且研究表明:在网络较好的环境下,我们发送一次数据包和发送两次数据包的时间大致相同,但是网络不好的情况下,两次TCP包对于校验数据的完整性有很大的作用;并且并不是所有的浏览器在处理这个post请求的时候都会进行两次的发包,火狐浏览器就不是。

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值