加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

你不知道的CORS跨域资源共享

发布时间:2019-03-13 16:46:19 所属栏目:建站 来源:keywords
导读:相识下同源计策 源(origin)*:就是协议、域名和端标语; 同源: 就是源沟通,即协议、域名和端口完全沟通; 同源计策:同源计策是赏识器的一个安详成果,差异源的客户端剧本在没有明晰授权的环境下,不能读写对方资源; 同源计策的分类: 1 . DOM 同源策

CORS非简朴哀求设置须知

  •  正如上图报错表现,,对付非简朴哀求,赏识器会先发送options预检,预检通事后才会发送真是的哀求;
  •  发送options预检哀求将关于接下来的真实哀求的信息给处事器: 
  1. Origin:哀求的源域信息  
  2. Access-Control-Request-Method:接下来的哀求范例,如POST、GET等  
  3. Access-Control-Request-Headers:接下来的哀求中包括的用户显式配置的Header列表 
  •  处事器端收到哀求之后,会按照附带的信息来判定是否应承该跨域哀求,通过Header返复书息: 
  1. Access-Control-Allow-Origin:应承跨域的Origin列表  
  2. Access-Control-Allow-Methods:应承跨域的要领列表  
  3. Access-Control-Allow-Headers:应承跨域的Header列表,防备漏掉Header,因此提议没有非凡需求的环境下配置为*  
  4. Access-Control-Expose-Headers:应承袒露给JavaScript代码的Header列表  
  5. Access-Control-Max-Age:最大的赏识器预检哀求缓存时刻,单元为s 

CORS完备设置

 1. koa设置CORS跨域资源共享中间件:

  1. const cors = (origin) => {  
  2.     return async (ctx, next) => {  
  3.         ctx.set({  
  4.             "Access-Control-Allow-Origin": origin, //应承的源  
  5.         })  
  6.         // 预检哀求  
  7.         if (ctx.request.method == "OPTIONS") {  
  8.             ctx.set({  
  9.                 'Access-Control-Allow-Methods': 'OPTIONS,HEAD,DELETE,GET,PUT,POST', //支持跨域的要领  
  10.                 'Access-Control-Allow-Headers': '*', //应承的头  
  11.                 'Access-Control-Max-Age':10000, // 预检哀求缓存时刻  
  12.                 // 假如处事器配置Access-Control-Allow-Credentials为true,那么就不能再配置Access-Control-Allow-Origin为*,必需用详细的域名  
  13.                 'Access-Control-Allow-Credentials':true // 跨域哀求携带身份信息(Credential,譬喻Cookie可能HTTP认证信息)  
  14.             });  
  15.             ctx.send(null, '预检哀求')  
  16.         } else {  
  17.             // 真实哀求  
  18.             await next()  
  19.         }  
  20.     }  
  21. }  
  22. export default cors 
  •  此刻不管是简朴哀求还长短简朴哀求都可以跨域会见啦~

跨域时如那里理赏罚cookie

  •  cookie:

      我们知道http时无状态的,以是在维持用户状态时,我们一样平常会行使cookie;

      cookie每次同源哀求城市携带;可是跨域时cookie是不会举办携带发送的;

  •  题目:

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读