ch1. HTTP相关
1.1 HTTP请求交互的基本过程
- 前后应用从浏览器端向服务器端发送HTTP请求(请求报文)
- 后台服务器接收到请求后,调度服务器应用处理信息,向浏览器端返回HTTP响应(响应报文)
- 浏览器端接收到响应,解析显示响应体/调用监视回调
1.2 HTTP请求报文
-
请求行:
method url //请求方式 地址
GET /product_detail?id=2
POST /login
-
多个请求头
Host: www.baidu.com //主机
Cookie: BAIDU=AD3B0FA706E; BIDUPSID=AD380FA706 //利用cookie请求头携带cookie数据,交给浏览器存储
Content-Type: application/x-www.form.urlencoded 或者 application/json //请求体内容
-
请求体
username=tom&psw=123
{“username”: “tom”, “psw”:123}
1.3 HTTP响应报文
-
响应状态行: status statusText //404 500
-
多个响应头
Content-Type: text/html;charset=utf-8
Set0Cookie: BD_CK_SAM=1; path=/
-
响应体
html文本/json文本/js/css/图片…
1.4 post请求体参数格式
-
Content-Type: application/x-www.form.urlencoded;charset=utf-8
用于键值对参数,参数的键值用=连接,参数之间用&连接
-
Content-Type: application/json;charset=utf-8
用于json字符串参数
-
Content-Type: multipart/form-data
1.5 常见的响应状态码
200 OK 请求成功,一般用于GET与POST请求
201 Created 已创建,成功请求并创建了新的资源
401 Unauthorized 未授权/请求要求用户的身份认证
404 Not Found 服务器无法根据客户端的请求找到资源
500 Internal Server Error 服务器内部错误,无法完成请求
1.6 不同类型的请求及其作用
- GET: 从服务器端读取数据
- POST: 想服务器端添加新数据
- PUT: 更新服务器已有数据
- DELETE: 删除服务器端数据
1.7 API的分类
-
REST API: restful
(1) 发送请求进行CRUD哪个操作由请求方式来决定
(2) 同一个请求路劲可以进行多个操作
(3) 请求方式会用到 GET/POST/PUT/DELETE
-
非REST API: restless
(1) 请求方式不能决定请求的CRUD操作
(2) 一个请求路径只对应一个操作
(3) 一般只有 GET/POST