1.axios的知识点理解,HTTP,报文请求方式,状态码,API,postman

目录

一:准备1:HTTP相关

1.HTTP请求基本过程

2.HTTP请求报文

3.HTTP响应报文

4.常见的响应状态码

5.请求方式

6.请求参数

7.请求方式与请求参数特别注意

二:准备2:API分类相关

1.API分类

2.使用json-server搭建REST API

7.我们可以修改先退出ctrl+c,修改后保存需要重新回到cmd重新运行     json-server 08.json

8.使用postman测试接口

10.更改:

 11.一般http请求与ajax请求的区别


一:准备1:HTTP相关

1.HTTP请求基本过程

①浏览器端向服务器发送HTTP请求(请求报文)

②后台服务器接收到请求后,处理请求, 向浏览器端返回HTTP响应(响应报文)

③浏览器端接收到响应, 解析显示响应体调用回调函数

2.HTTP请求报文

①请求行:

②请求头(一般有多个)

③请求体

3.HTTP响应报文

①响应行

②响应头(一般有多个)

 ③响应体

4.常见的响应状态码

1xx  服务器收到请求

2xx 请求成功 200成功

3xx 重定向,301永久重定向(接口返回一个location,浏览器自动跳转)

                     302临时重定向(接口返回一个location,浏览器自动跳转)

                     304资源未被修改(刚请求过又请求了,不再执行新请求,直接去缓存找数据)

4xx 客户端错误 404资源未找到 403没有权限(没登陆就想获取用户信息)

5xx 服务端错误 500服务器错误 504网关超时

5.请求方式

  • GET(索取): 从服务器端读取数据 ----- 查(R)
  • POST(交差): 向服务器端添加新数据 ------ 增(C)
  • PUT: 更新服务器端已存在的数据 ------- 改(U)
  • DELETE: 删除服务器端数据 ---------删(D)

6.请求参数

①query参数(查询字符串参数)

  • 参数包含在请求地址中,格式为:/xxxx?name=tom&age=18
  • 敏感数据不要用query参数,因为参数是地址的一部分,比较危险。
  • 备注:query参数又称查询字符串参数,编码方式为urlencoded

②params参数

  • 参数包含在请求地址中,格式如:http://localhost:3000/add_person /tom/18
  • 敏感数据不要用params参数,因为参数是地址的一部分,比较危险。

③请求体参数

  • 参数包含在请求体中,可通过浏览器开发工具查看
  • 常用的两种格式:

格式一:urlencoded格式

               例如:name=tom&age=18

               对应请求头:Content-Type: application/x-www-form-urlencoded

格式二:json格式

               例如: {"name": "tom", "age": 12}

               对应请求头:Content-Type: application/json 

7.请求方式与请求参数特别注意

  1. GET请求不能携带请求体参数,因为GET请求没有请求体。
  2. 理论上一次请求可以随意使用上述3种类型参数中的任何一种,甚至一次请求的3个参数可以用3种形式携带,但一般不这样做。
  3. 一般来说我们有一些“约定俗成”的规矩:
    (1) 例如form表单发送post请求时: 自动使用请求体参数,用urlencoded编码。

   (2) 例如jQuery发送ajax-post请求时:自动使用请求体参数,用urlencoded编码。

     4.开发中请求到底发给谁?用什么请求方式?携带什么参数?----要参考项目的API接口文档。

二:准备2:API分类相关

1.API分类

传统API设计:把每个url当作一个功能

Restful API设计:把每个url当做一个唯一的资源 

不使用url参数 传统API设计 : /api/list?pageIndex=2

                       Restful API设计 :/api/list/2

  • REST API ( restful风格的API  )

                      ①同一个请求路径可以进行多个操作

                      ②请求方式会用到GET/POST/PUT/DELETE

                      ③发送请求进行CRUD哪个操作由请求方式来决定

  • 非REST API ( restless风格的API )

                      ①请求方式不决定请求的CRUD操作

                      ②一个请求路径只对应一个操作

                      ③一般只有GET/POST

2.使用json-server搭建REST API

①json-server是什么?   ——————用来快速搭建REST API的工具包

3.在线文档: https://github.com/typicode/json-server

4.在cmd里面全局安装        npm i json-server -g

5.在命令行进入某个盘然后创建  json-server 08.json 

6.里面默认生成的数据是

7.我们可以修改先退出ctrl+c,修改后保存需要重新回到cmd重新运行     json-server 08.json

8.使用postman测试接口

9.如果需要保存 ctrl+s

10.更改:

 

 11.一般http请求与ajax请求的区别

①ajax请求是一种特别的http请求

②对服务器端来说, 没有任何区别, 区别在浏览器端

③浏览器端发请求: 只有XHR或fetch发出的才是ajax请求, 其它所有的都是非ajax请求

④浏览器端接收到响应

  • 一般请求: 浏览器一般会直接显示响应体数据, 也就是我们常说的自动刷新/跳转页面
  • ajax请求: 浏览器不会对界面进行任何更新操作, 只是调用监视的回调函数并传入响应相关数据

 

常见请求头:

此链接

http缓存

什么是缓存 一些静态资源(js.css.img)

http缓存策略(强制缓存+协商缓存)

强缓存:浏览器初次向服务器发起请求,服务器返回数据并且判断如果数据可以被缓存就加上Cache-Control,如果不适合就不加,此时浏览器再次访问就可以在本地中获取数据

Cache-Control的值:

max-age最大缓存时间    private  public 

no-cache不用b本地强缓存直接交给服务端处理  no-store不用本地缓存也不用服务端缓存     

刷新操作方式,对缓存的影响

协商缓存   是服务器端缓存策略 服务器判断客户资源是否和服务端资源一致,一致就返回304,否则返回200和最新资源

浏览器初次请求     服务端返回资源和资源标识,

浏览器再次请求带着资源标识请求    服务端根据资源标识与自身是否相等 相等返回304 否则返回200和新的资源标识

资源标识:在Response Headers中,有两种

  • Last-Modified 资源的最后修改时间
  • Etag资源的唯一标识(一个字符串,类似人的指纹)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值