Request Headers 和 Response Headers,HTTP请求协议中的请求头和响应头
请求报文
HTTP 协议使用 TCP 协议进行传输,在应用层协议发起交互之前,进行 TCP 三次握手后,客户端向服务器发出请求报文
响应报文
当收到接口发来的请求后,服务器对报文进行响应,并向客户端传递附加信息。
在接口调用成功后,除了可以拿到返回值,还可以从 Response Header 中获取需要的数据,比如服务器的时间、token 等等
myFunc() {
return request(url, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
responseType: 'blob' || 'arraybuffer',
getResponse: true
});
}
myFunc().then(res=>{
res.response.headers.get('content-disposition')
})
在 Axios 中封装 Response Headers
好处是在调用接口的前后,可以处理loading、调用成功失败提示、数据压缩、等等公用的逻辑.
- 定义 Header,包含 request 和 response
- 封装 get / post 方法,调用接口前后分别处理 request 和 response
将请求封装后导出为 MyApi,调用接口,response 会在接口调用后返回响应数据: