zoukankan      html  css  js  c++  java
  • 跨域

    什么是同源

    两个url的源必须一模一样,就说这两个url就是同源的

    同源策略

    • 浏览器故意规定:如果一个JS文件运行在源A里,那么就只能获取到源A的数据。不能获取到其他源的数据,即不允许跨域
    • 不同源的页面之间不允许互相访问数据
    • 目的:保护用户隐私

    什么是跨域

    一般来说,当一个请求url的协议、域名、端口三者之间任意一个与当前页面地址不同即为跨域。最常见的就是在一个域名下的网页中,调用另一个域名中的资源。

    JSONP 跨域

    我们在跨域的时候,由于当前浏览器不支持CROS,或者因为某些原因不支持CROS,那我们就必须用
    JSONP来跨域。于是请求一个JS文件,这个JS文件会执行一个回调,回调里面就有我们的数据。我们当前网站创建一个script标签去请求另外一个网站的JS,JS里面会夹带我要的数据,而且这个JS会调用我写的一个全局函数来运行,就可以把数据给我了.这个回调的名字是我们随机生成的随机数,我们把这个回调的名字以callback的参数传给后台,后台就会把这个函数返回给我们,再执行

    优点:

    • 兼容IE
    • 跨域

    缺点:

    • 因为script标签引用,得不到详细信息:状态码、header,只知道成功失败。
    • 因为是script标签,只可以发get请求,当然不能支持POST

    CORS 跨域

    CORS,全称Cross-Origin Resource Sharing ,是一种允许当前域(domain)的资源(比如html/js/web service)被其他域(domain)的脚本请求访问的机制,通常由于同域安全策略(the same-origin security policy)浏览器会禁止这种跨域请求。

    详细做法:

    Access-Control-Allow-Origin: MDN文档

    作者:过程是风景
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    点对点PSCV
    开机启动文件夹
    SpringBoot占用端口
    停止8080端口
    java JDK下载与安装教程
    JRebel热部署
    取消ctrl+alt+箭头 旋转
    空指针调试
    xdebug 断点调试,时间过长会出现超时如何解决
    vue 无法加载文件 CProgram Filesnodejsnpm.ps1,因为在此系统上禁止运行脚本
  • 原文地址:https://www.cnblogs.com/justcho/p/13472775.html
Copyright © 2011-2022 走看看