get请求和post请求详讲解

目录

get

post

get和post区别:

深入理解

get

1、

    async index1() {
       // var k = this.ctx.request.query//前端get请求传递的参数
        this.ctx.body = "新闻页面"
    }

2、

router.get('/news', controller.news.index);

3、egg里面获取get传值

       var query=this.ctx.query
         console.log(query);

post

1、

        var url = "http://127.0.0.1:7001/post1"

        axios.post(url, { userid: 123, pwd: 123 })
            .then(res => console.log(res))

2、

router.post('/post1', controller.home.post1);

3、

  async post1() {
    //1.前端POST发送给egg的参数字段
    let obj = this.ctx.request.body
    let query = this.ctx.request.query
    console.log(obj, query)
    this.ctx.body = { info: "登录成功", res: obj }
  }

get和post区别:

1.get请求一般是去取获取数据(其实也可以提交,但常见的是获取数据);

post请求一般是去提交数据。

2.get因为参数会放在url中,所以隐私性,安全性较差,请求的数据长度是有限制的,

不同的浏览器和服务器不同,一般限制在 2~8K 之间,更加常见的是 1k 以内;

post请求是没有的长度限制,请求数据是放在body中;

3.get请求刷新服务器或者回退没有影响,post请求回退时会重新提交数据请求。

4.get请求可以被缓存,post请求不会被缓存。

5.get请求会被保存在浏览器历史记录当中,post不会。get请求可以被收藏为书签,因为参数就是url中,但post不能。它的参数不在url中。

6.get请求只能进行url编码(appliacation-x-www-form-urlencoded),post请求支持多种(multipart/form-data等)。

深入理解

1…GET 和 POST都是http请求方式, 底层都是 TCP/IP协议;通常GET 产生一个 TCP 数据包;POST 产生两个 TCP 数据包(但firefox是发送一个数据包),

2.对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应 200

(返回数据)表示成功;

而对于 POST,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data,服

务器响应 200 (返回数据)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值