get请求和post请求的区别

一、概述

http请求方式有get、post、put、delete等多种,随常用的就是get和post。

二、区别

  1. get请求一般是去获取数据(其实也可以提交,但常见的是获取数据);
  2. get参数会放在url中,所以隐私性,安全性较差,请求的数据长度是有限制的,不同的浏览器和服务器请求的数据长度是不同的,一般限制在2~8k之间,更加常见的是在1k以内
    post请求是没有长度限制的,请求数据是放在request.body中的
  3. get请求刷新浏览器或回退没有影响
    post回退时会重新提交数据请求
  4. get请求可被缓存
    post请求不会被缓存
  5. get请求会保留在浏览器的历史记录中
    post请求不会保留在浏览器的历史记录里。
  6. get请求可被收藏为书签
    post请求不能被收藏为书签
  7. get请求只能进行url编码(application/x-www-form-urlencoded)
    post请求支持多种编码方式(application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。)
  8. get请求比较常见的方式时通过url地址栏请求
    post最常见的是通过form表单发送数据请求

三、深入了解

  1. get和 post都是http请求方式, 底层都是 TCP/IP协议
    通常get产生一个 TCP 数据包;
    post产生两个 TCP 数据包(但firefox是发送一个数据包),
  2. 对于 get方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应 200(返回数据)表示成功;
  3. 对于 post,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data,服
    务器响应 200 (返回数据)。
  4. get和post都有自己的语义,不能随便混用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值