预检命令,缓存。
我们知道非简单请求, 每次会发出两次请求, 这会影响性能. HTTP协议增加了个响应头, 可以让我们在服务端设置`Access-Control-Max-Age`来缓存预检请求, 比如说我们可以设置为3600m, 也就是一小时客户端只会在第一次的时候发送两个请求, 接下来一个小时内`OPTIONS`请求就被缓存起来了.
1231321313113
我们知道非简单请求, 每次会发出两次请求, 这会影响性能. HTTP协议增加了个响应头, 可以让我们在服务端设置`Access-Control-Max-Age`来缓存预检请求, 比如说我们可以设置为3600m, 也就是一小时客户端只会在第一次的时候发送两个请求, 接下来一个小时内`OPTIONS`请求就被缓存起来了.
一、预检命令的缓存
1、res.addHeader("Access-Control-Allow-Headers","Content-Type");
2、res.addHeader("Access-Control-Max-Age", "3600"); 3600秒,告诉浏览器1个小时之内不要清除这段缓存信息。
简单请求与非简单请求
简单请求:先执行后检测
非简单请求:先预检,后执行
OPTIONS:预检命令
OPTIONS缓存:Access-Control-Max-Age
预检命令(OPTIONS)及其缓存
request.addHeader("Access-Control-Max-Age","3600");预检命令缓存一小时;
复杂请求每次都要发送两条请求,效率很低,可以通过将预检命令缓存来减少请求
设置方法是服务端响应头设置Access-Control-Max-Age,值是缓存时间
预检命令缓存头部的后台设置