zoukankan      html  css  js  c++  java
  • Network

    一、什么是跨域?

    当浏览器执行脚本时会检查是否同源,只有同源的脚本才会执行,如果不同源即为跨域。这里的同源指访问的协议、域名、端口都相同。

    二、跨域流程

    三、如何解决跨域?

    3.1 使用Nginx部署为同一域

    3.2 配置当次请求允许跨域

    在Gateway微服务中,添加配置bean,可以实现此功能:

    3.3 其他方法(参考)

    1、jsonp
    利用了 script 不受同源策略的限制
    缺点:只能 get 方式,易受到 XSS攻击

    4、Html5 postMessage 方法
    允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本、多窗口、跨域消息传递
    缺点:浏览器版本要求,部分浏览器要配置放开跨域限制

    5、修改 document.domain 跨子域
    相同主域名下的不同子域名资源,设置 document.domain 为 相同的一级域名
    缺点:同一一级域名;相同协议;相同端口

    6、基于 Html5 websocket 协议
    websocket 是 Html5 一种新的协议,基于该协议可以做到浏览器与服务器全双工通信,允许跨域请求
    缺点:浏览器一定版本要求,服务器需要支持 websocket 协议

    7、document.xxx + iframe
    通过 iframe 是浏览器非同源标签,加载内容中转,传到当前页面的属性中
    缺点:页面的属性值有大小限制

    参考文献

    ————————————————
    版权声明:本文为CSDN博主「ConstXiong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/meism5/article/details/90414283

  • 相关阅读:
    Codeforces 1131 C. Birthday-暴力 (Codeforces Round #541 (Div. 2))
    Codeforces 1131 B. Draw!-暴力 (Codeforces Round #541 (Div. 2))
    DP之背包经典三例
    博弈规律综概
    腾讯面试题:杯子质量(最优查找)
    洛谷P1308——单词统计
    AtCoder Regular Contest 069 D
    Codeforces 782C. Andryusha and Colored Balloons 搜索
    Codeforces 799D. String Game 二分
    Codeforces 767B. The Queue 模拟题
  • 原文地址:https://www.cnblogs.com/frankcui/p/15202680.html
Copyright © 2011-2022 走看看