可能有总结错的地方,轻喷,请指教.
- http协议的结构是: 请求行+请求头+空行+请求体
- 无论get,post请求,所有类型的请求结构一摸一样.(有些说get没有请求体是不对的,也有,只不过是被浏览器禁用了,这是实际应用上的禁用,而不是协议本身禁用.我们绕过浏览器,通过curl命令就可以看到.get也可以在请求体中传输数据.)
- 数据在http协议的三个主要结构中都可以存放.
- 数据可以放在url中,但是一般情况下,"浏览器"会对url长度做限制.协议不限制长度.
- 数据可以放在请求体中,其中 json/xml/图片/二进制 等等,数据都是在请求体中的.只不过编码格式不一样.但放的位置都是请求体.(表单提交比较特殊,如果是get,会处理到url中,如果是post,会处理到请求体中)
- 数据也可以放在请求头中,以自定义的键值对进行传输,请求头中的数据一般放业务无关的,而与用户有关的信息.比如session_code,user_name等.而业务数据尽量不放在请求头中.(ps:可以,只是不建议)