axios核心技术---1.HTTP相关

HTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。

1.HTTP请求交互的基本过程

  1. 前后应用从浏览器端向服务器发送HTTP请求(请求报文)
  2. 后台服务器接收到请求后,调度服务器应用处理请求,向浏览器返回HTTP响应(响应报文)
  3. 浏览器端接收到响应,解析显示响应体/调用监视回调

2.HTTP请求报文

  1. 请求行:method url: GET/url, POST/url
  2. 多个请求头:
    1. Host: www.baidu.com
    2. Cookie: BAIDUID=AD3B0FA706E; BIDUPSID=AD3B0FA706;
    3. Content-Type: application/x-www-form-urlencoded 或者 application/json
  3. 请求体(需要配合content-type类型):
    1. username=tom&pwd=123
    2. {“username”: “tom”, “pwd”: 123}

3.HTTP响应报文

  1. 响应状态行:status statusText
  2. 多个响应头:
    1. Content-Type: text/html;charset=utf-8
    2. Set-Cookie: BD_CK_SAM=1;path=/
  3. 响应体:
    1. html 文本/json 文本/js/css/图片

4.post请求体参数格式

  1. Content-Type:application/x-www.form-urlencoded;charset=utf-8
    1. 用于键值对参数,参数的键值用=连接,参数之间用&连接
    2. 例如: name=%E5%B0%8F%E6%98%8E&age=12
  2. Content-Type:application/json;charset=utf-8
    1. 用于 json 字符串参数
    2. 例如: {“name”: “%E5%B0%8F%E6%98%8E”, “age”: 12}
  3. Content-Type: multipart/form-data
    1. 用于文件上传请求

5.常见的响应状态码

  1. 200:OK 请求成功。一般用于GET与POST请求
  2. 201:Created 已创建。成功请求并创建了新的资源
  3. 401:Unauthhorized 未授权/请求要求用户的身份认证
  4. 404:Not Found 服务器无法根据客户端的请求找到资源
  5. 500:Internal Server Error 服务器内部错误,无法完成请求

6.不同类型的请求及其作用

  1. GET:从服务器端读取数据
  2. POST:向服务器端添加新数据
  3. PUT:更新服务器端已经数据
  4. DELETE:删除服务器端数据

7.API的分类

  1. REST API:restful
    1. 发送请求进行CRUD哪个操作由请求方式来决定
    2. 同一个请求路径可以进行多个操作
    3. 请求方式会用到GET/POST/PUT/DELETE
  2. 非 REST API:restless
    1. 请求方式不决定请求的CRUD操作
    2. 一个请求路径只对应一个操作
    3. 一般只有GET/POST

8.使用json-server搭建REST API

(1)json-server是什么?

用来快速搭建 REST API 的工具包

(2)使用json-server

  1. 全局安装json-server:npm install -g json-server
  2. 目标根目录下创建数据库json文件:db.json
  3. 启动服务器执行命令:json-server --watch db.json

 

 

 

 

参考链接:

【1】https://www.bilibili.com/video/BV1NJ41197u6?p=2

【2】HTTP概述 - HTTP | MDN

【3】typicode/json-server: Get a full fake REST API with zero coding in less than 30 seconds (seriously)

posted @   nxf_rabbit75  阅读(182)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
1.HTTP请求交互的基本过程2.HTTP请求报文3.HTTP响应报文4.post请求体参数格式5.常见的响应状态码6.不同类型的请求及其作用7.API的分类8.使用json-server搭建REST API(1)json-server是什么?(2)使用json-server
点击右上角即可分享
微信分享提示