最近做的一个业务涉及很大的数据量,完成后发现存在获取数据到渲染完毕等待时间很长的问题,为了提升用户体验把请求改成分批请求然后由局部到整体逐渐渲染(一会儿再说这个方法的结果是否理想),分批操作时发现options请求耗费了一半的时间,于是开始研究减少options请求来减少。
一、减少options请求次数
先分析我们的请求为什么会触发options:
cors跨域处理非简单请求会触发options
------以下在知乎看到整理得来--------
不是所有的cors都会发生options预检请求(preflight request),与预检请求相对应的是简单请求(simple request)。如果是简单请求,那么请求应该符合以下条件:
1,请求类型是GET/HEAD/POST之一
2,请求头除了用户代理(浏览器)自带的(Connection, User-Agent)和Fetch spec as a “forbidden header name之外,用户只允许设置以下请求头:
Accept Accept-Language
Content-Language
Content-Type (but note the additional requirements below)
Last-Event-IDDPRDownlinkSave-DataViewport-Width
Width
3,Content-Type只能是以下类型: