文章目录
http请求交互的基本过程
http请求报文和http响应报文
请求方式
下面是四种常见的请求方式,八大请求点击这里查看
1. GET请求
查:从服务器端读取数据
2. POST请求
增:向服务器端添加数据
3. PUT请求
改:更新服务器端已存在的数据*
4. DELETE请求
删:删除服务器端数据
请求参数
1. query参数
- 参数包含在请求地址中,格式为:localhost:3000
/xxx?name=tom&age=13
- query参数又称查询字符串参数,编码方式为urlencoded
注意:敏感参数不要使用query参数,因为参数是地址的一部分,比较危险
2. params参数
- 参数包含在请求地址中,格式为:localhost:3000
/xxx/tom/13
注意:敏感参数不要使用query参数,因为参数是地址的一部分,比较危险
3. 请求体参数
- 参数包含在请求体中,可以通过浏览器工具或抓包工具查看
- 它的三个格式如下:
格式一:urlencoded格式
例如:name=tom&age=18
对应请求头:
Content-Type:application/x-www-form-urlencoded
格式二:json格式
例如: {"name":"tom","age":"18"}
对应请求头:
Content-Type:application/json
格式三:form-data格式(用于文件上传)
对应请求头:
Content-Type:application/form-data
特别注意:
-
GET请求不能携带请求体参数
-
理论上一次请求可以携带上述3中类型参数的任何一种,甚至一次请求的三个参数可以同时用三种形式携带,但一般不这样做
-
一般来说,我们会有一些“约定俗成”的东西
3.1: 例如: form表单发送get请求时,自动使用query参数,不会使用请求体参数
3.2:例如:jQuery发送ajax-post请求时,自动请求体参数,不会使用query参数 -
开发中请求到的发给谁?用什么请求方式?携带什么参数?需要参考API接口文档
xhr对象的readyState和status的区别
可以简单的理解为readyState代表一个整体的状态。而status是这个大的state下面具体的小的状态。
比如,水的state 1.可饮用 2.不可饮用 如果是可饮用 , 那么对应的 PH值Status=x,矿物质Status=yy
在比如:XMLHttpRequest对象的readyState和status,readyState为4,会有对应的,才会有响应status:500,404…
readyState表示XMLHttpRequest对象的处理状态:
- 0: xhr对象还没有完成初始化。(准备司机、车、货物)
- 1:xhr对象开始发送请求。(需要送十车货物,当前正在送第几车)
- 2:xhr对象已经请求发送完成。(十车货送完毕)
- 3:xhr对象开始读取服务器的响应。(准备把这十车加工的货拉回来,当前第几车)
- 4:xhr对象读取服务器响应结束。(十车货全部拉回完毕)
status状态:
- 1xx:信息响应类,表示接收到请求并且继续处理。(所有拉去的货,工厂还没有加工完毕)
- 2xx:处理成功响应类,表示动作被成功接收、理解和接受。。(所有拉去的货工厂全部加工完毕)
- 3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理 。(所有拉去的货,工厂设备不够,让其他工厂帮忙加工)
- 4xx:客户端错误,客户请求包含语法错误或者是不能正确执行 。(这十车货有质量问题,工厂不能正常加工)
- 5xx:服务端错误,服务器不能正确执行一个正确的请求。(工厂在加工到一半过程中断电,不能继续加工)
API的分类
REST API restful
- 发送请求进行CRUD哪个操作由请求方式决定
- 同一请求路径可以进行多个操作
- 请求方式会用到GET/POST/PUT/DELETE
非REST API restless
- 请求方式不决定请求的CRUD操作
- 一个请求路径只对应一个操作
- 一般只有GET/POST