为什么会出现跨域,有什么常见的解决方案?

9,805次阅读
没有评论

共计 765 个字符,预计需要花费 2 分钟才能阅读完成。

深渊的那支花
2021-12-15 12:01:28
浏览数 (2329)

跨域

浏览器同源策略 1995 年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行

这个政策。最初,它的含义是指,A 网页设置的 Cookie,B 网页不能打开,除非这两个网

页 ” 同源 ”。所谓 ” 同源 ” 指的是 ” 三个相同 ”。

 协议相同 http https
域名相同 www.xdclass.net
端口相同 80 81
一句话:浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域
浏览器控制台跨域提示:No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'null' is therefore not allowed access.

解决方法

  • JSONP
  • 页面这层再包装一层服务,目前最多就是 nodejs
  • Http 响应头配置允许跨域

        nginx 代理服务器

        后端程序代码配置

 程序代码中处理 SpringBoot 通过拦截器配置

response.setHeader("Access-Control-Allow-Origin",
request.getHeader("origin"));

response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST,
PUT, PATCH, DELETE, OPTIONS");
response.setHeader("Access-Control-Allow-Headers", "*");

原文地址: 为什么会出现跨域,有什么常见的解决方案?

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-23发表,共计765字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)