阅读 3147

网络请求之get/post与传参类型query/body

平时传递的网络参数,无论是get还是post基本上都是传递一个对象/字典等到服务器,除了换个请求类型,传递参数基本上没有什么区别,实际上是系统或者三方给我们处理的,实际参数处理方式并不相同。

get方式请求传递的参数最终都会显式地拼接到URL后面,例如: ...loginin?username=123&password=123

post传递的参数实际上是放到了网络请求的data段传递的,不显式的暴露在链接上

query实际上就是get请求式的传参方式(post也可以以这种方式传递),即将参数拼接到URL后面,例如: ...loginin?username=123&password=123

body参数类型只有post可以传递,即传递的参数最终放到了data字段上,而不是像get一样放到URL后面,例如:url:...loginin data段:username和password

举个例子:

基础链接:...loginin

URL参数拼接方式:url + ? 参数 = 参数内容 & 参数 = 参数类型 &...

1.请求方式:get

参数: 名称 + 请求类型 + 数据类型

username	query 	string
password	query 	string
复制代码

实际get请求传递参数username和password

最终的提交的url为 ...loginin?username=123&password=123 无data数据段

2.请求方式:post

参数: 名称 + 请求类型 + 数据类型

username	query	string
password 	query	string

key 		body 	string
id			body	string
			
复制代码

可以看出username和password为get为query的类型传递(模仿get请求,参考URL拼接方式,将参数拼接到url后面)

而key和id为body类型,传递的参数都放到data端,即和正常post传递参数一样,最终传递到data数据段上

最终的提交的url为 ...loginin?username=123&password=123 data数据段:key和id

文章分类
iOS
文章标签