美文网首页
Web开发经典问题之跨域

Web开发经典问题之跨域

作者: 一颗小白骨儿 | 来源:发表于2018-02-23 22:15 被阅读0次

    前端面试的时候被问的最多的是什么?
    就当前的我而言,是跨域。

    简述

    很长一段时间,
    正纳闷,跨域这事情和前端有毛线关系呢,
    其实要强行扯出关系,那也是可以的...
    下面主要介绍一下几种常见的跨域的解决方案

    正文

    一般情况(CORS)

    如果后端代码在公司或部门掌控之内,
    毫无疑问,此时由后端往Response Headers
    写一个Access-Control-Allow-Origin是最方便的,它的值可为*
    强烈不建议写成*,正确写法是允许[发布后的域名,localhost,内网]


    JSONP

    jsonp 仅适用于get方法,适用范围并不广,
    它主要用于API由第三方提供,且仅存在get方法的情形


    fetch

    fetch 同样不是完美的解决方案,它的限制如下:
    fetch option with no-cors 适用于post请求,但只适用于发送请求,
    也就是说:服务端可以接收,但浏览器不会给你返回结果


    反代

    反向代理适用于其它各种原因导致的跨域问题,
    同样,他的缺点也很明显:浪费服务器资源。
    关于反向代理的搭建方法,有待后续补充,


    原文出处

    ① 浏览器之所以限制javascript跨域,那肯定是有它的原因,主要是安全方面的,
    为了项目的持续健康发展,请尽量不要使用 * 这种不负责任的方式,
    这里提供Java Servlet Filter版的CORS过滤器作为参考

    相关文章

      网友评论

          本文标题:Web开发经典问题之跨域

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