美文网首页
跨域 、同源 、CORS、JSONP

跨域 、同源 、CORS、JSONP

作者: Sharp丶TJ | 来源:发表于2021-12-07 14:35 被阅读0次

同源策略

同源策略是浏览器故意设计的一个功能限制。

一、同源的定义

1. 源

源 = 协议 + 域名 + 端口号

如果两个 URL 的 协议、域名、端口号 都完全一致,那么这两个url就是同源的

二、同源策略定义

1. 浏览器规定

如果JS运行在源A里,那么久只能获取源A的数据,不能获取源B的数据,即 不允许跨域

注意: 这是浏览器的功能,浏览器故意这样设计的
(因为它要保护用户隐私)

同源策略的总结:不同源的页面之间,不准互相访问数据


跨域

一、什么是跨域

跨域 是由于浏览器不能获取其他网站的数据,产生这一切的原因就是因为浏览器的 同源策略 。同源策略 限制的行为:
(1)Cookie、LocalStorage 和 IndexDB 无法读取
(2)DOM 和 JS 对象无法获取
(3)Ajax请求发送不出去

二、解决跨域

1. CORS跨域

声明需要共享的语法:Access-Control-Allow-Origin:你的需要允许的域名
(注意:是在node中声明)

MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS#%E7%AE%80%E5%8D%95%E8%AF%B7%E6%B1%82

例:

response.setHeader('Access-Control-Allow-Origin',‘域名’)

如果需要允许两个网站,你就通过

console.log(request.headers['referer'])

读取到它来自哪个网站,你就在域名中写哪个网站

2. JSONP 跨域

先将提供的数据写到一个 js 文件当中。然后需求方一方引用该 js , js 文件执行函数,这样需求方就可以通过事先写好的函数,获取到数据,并且,这个实现写好的函数,就是一个很典型的回调。

相关文章

  • 跨域

    主要内容: 同源策略、跨域实现形式(JSONP、CORS、降域、postMessage) 同源策略 (Same o...

  • 同源策略与跨域

    跨域就是违背了同源策略解决跨域的方法有:jsonp,cors和服务器代理

  • AJAX入门

    处理跨域的主要方法 JSONP CORS本文主要讨论CORS解决AJAX因为浏览器同源策略不能跨域请求数据的问题。...

  • AJAX和JSONP请求

    同源策略:端口 域名 协议相同 跨域解决CORS代理请求方式jsonp JSONP流程:动态创建script标签,...

  • Web28.JSONP & 跨域

    跨域 1.JSONP2.CORS3.降域4.PostMessage 同源策略(Same origin Policy...

  • 跨域请求解决办法

    CORS:即跨域资源共享,它允许浏览器向跨域服务器发送ajax请求 与JSONP的区别:jsonp是绕过了同源限制...

  • 什么是跨域?跨域有几种实现形式:

    跨域指的是跨过同源策略,实现不同域之间进行数据交互的过程叫跨域。跨域的实现形式主要有JSONP方法、CORS方法、...

  • 跨域

    跨域指的是跨过同源策略,实现不同域之间进行数据交互的过程叫跨域。跨域的实现形式主要有JSONP方法、CORS方法、...

  • 跨域之二:JSONP 和 CORS

    本节内容:实现跨域常用的两种方式 —— JSONP 和 CORS 零:跨域报错展示 在非同源情况下,调用 Ajax...

  • 跨域 、同源 、CORS、JSONP

    同源策略 同源策略是浏览器故意设计的一个功能限制。 一、同源的定义 1. 源 源 = 协议 + 域名 + 端口号 ...

网友评论

      本文标题:跨域 、同源 、CORS、JSONP

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