GET与POST区别(最详细)

相同点:本质上都是TCP连接。

不同点:由于HTTP规定和服务器/浏览器限制,在应用过程中区别如下:

1.get产生一个TCP数据包,post 产生两个TCP数据包

        get请求,浏览器会把http header和data一起发送,服务器响应200(返回数据)

        post请求 浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200(返回数据)

2.get 在浏览器回退时是无害的。post会再次请求;

3.get产生的URL地址可以被bookmark,而post不可以;

4.get请求会被浏览器主动cache,二post不行(除非设置)

5.get请求参数会被完整保留在历史记录,post不会

6.对参数的数据类型,get只接受ASCII字符,post无限制

7.get通过url传参不安全,不能传敏感信息,长度收限制2kb,post参数放在request body中,相比较安全一些,无长度限制(可配置)

8.get请求只能进行url编码,post可以多种方式,例如下面方式:

        1.application/x-www-form-urlencoded  表单——>数组

        2.multipart/form-data  文件上传(表单上传时enctpe的值)

        3.application/json  序列化的json字符串

        4.text/xml等。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT阿剂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值