http post参数传递的两种方式

首先说一下http请求,包括三部分:请求行,请求头,请求体(http post有,http get没有)。

发送请求到http server的时候,这三部分里面都可以传递参数。通常我们不考虑请求头里传递参数,这也不标准。http get请求只能通过请求行来传递参数,即通过"?user=abc&pwd=123"这样的形式,通过浏览器访问,容易被看见,而且长度也受到限制。所以才有了http post请求,在请求体里面带参数,参数的形式就很多样了,这里不谈。那么http post请求可不可以像http get请求一样通过请求行来传递参数呢?答案当然是可以的。而且对于http post请求,可以同时通过请求行和请求体传递参数。

如果使用curl发送http 请求,具体形式:

1. http get请求,在请求行带参数

curl https://networktraversal.googleapis.com/iceconfig?key=4080218913

2. http post请求,在请求体带参数

curl -d "key=4080218913" https://networktraversal.googleapis.com/iceconfig

Content-Type为:application/x-www-form-urlencoded

另一种为:multipart/form-data,这里没用到。

3. http post请求,在请求行带参数

curl -X POST https://networktraversal.googleapis.com/iceconfig?key=4080218913

此时,请求体为空。

4. http post请求,在请求行和请求体带参数

curl -d "user=abc&pwd=123" https://networktraversal.googleapis.com/iceconfig?key=4080218913

---------------------------------------------------------------------------------------------------------------------------------

那么http server端如何区分参数是在请求行还是请求体里面的呢?

它应该在两个地方都作解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值