🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
一.**简单请** 1.请求方式只能是:GET、POST、HEAD 2.HTTP请求头限制这几种字段(不得人为设置该集合之外的其他首部字段): Accept、Accept-Language、Content-Language、Content-Type(需要注意额外的限制)、DPR、Downlink、Save-Data、Viewport-Width、Width 3.Content-type只能取:application/x-www-form-urlencoded、multipart/form-data、text/plain 4.请求中的任意XMLHttpRequestUpload 对象均没有注册任何事件监听器;XMLHttpRequestUpload 对象可以使用 XMLHttpRequest.upload 属性访问。 5.请求中没有使用 ReadableStream 对象。 二.## 非简单请求 1.请求方法是PUT或DELETE, 2.Content-Type字段的类型是application/json 3.请求设置了自定义的header字段 **Access-Control-Request-Headers** 三,缓存请求信息 Access-Control-Max-Age:(number)  。数值代表preflight request  (预检请求)的返回结果(即 Access-Control-Allow-Methods 和Access-Control-Allow-Headers 提供的信息) 可以被缓存多久,单位是秒。 例如:将预检请求的结果缓存10分钟: Access-Control-Max-Age: 600  不同浏览器有不同的上限。在Firefox中,上限是24h(即86400秒),而在Chromium 中则是10min(即600秒)。Chromium 同时规定了一个默认值 5 秒。 如果值为 -1,则表示禁用缓存,每一次请求都需要提供预检请求,即用OPTIONS请求进行检测。 Access-Control-Max-Age方法对完全一样的url的缓存设置生效,多一个参数也视为不同url。也就是说,如果设置了10分钟的缓存,在10分钟内,所有请求第一次会产生options请求,第二次以及第二次以后就只发送真正的请求了。