美文网首页
CORS跨域

CORS跨域

作者: 泥尘Felix | 来源:发表于2019-01-14 14:46 被阅读0次

    跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求

    实现CORS的几种方式

    1. 本地代理
    2. nodejs中间件
    3. nginx代理

    本地代理

    webpack.dev里添加如下代码:

    "proxy": {
        "/api": {
          "target": "http://127.0.0.1:8080/",
          "changeOrigin": true,
          "pathRewrite": { "^/api" : "" }
        }
      }
    

    /api代表代理的路径名,target代表代理的地址,changeOrigin代表更改发出源地址为target,pathRewrite代表路径重写

    至于CORS的三种代理方案优缺点主要如下:

    1. 设置webpack-dev-server的proxy最简单,但是通常只能用于本地环境,线上环境通常无法直接代理
    2. node代理书写比较方便灵活,而且不需要过多的学习成本,前端了解一定的后端知识然后写好异常捕捉就可以上手,还可以进行一些业务方面的处理,比如对接收请求进行拦截

    相关文章

      网友评论

          本文标题:CORS跨域

          本文链接:https://www.haomeiwen.com/subject/hxnddqtx.html