一、跨域
1.同源策略:
协议:http和https
域名:www.baidu.com和map.baidu.com
端口::3000和1:5500
2.跨域:
在浏览器中,使用XMLHttpRequest,发起请求时,发起请求方和被请求方如果不遵守同源策略且被请求方没有设置“访问控制允许源”信息,就会被同源策略阻止的情况,叫跨域
但跨域是非常有必要进行的事情,如果不能跨域的话,互联网就失去了意义
3.解决跨域
(1)服务器代理:不使用浏览器:使用服务器发起请求
客户端A,请求服务端B,跨域
搭建一个临时服务器a,在临时服务端a中请求跨域服务的服务端B,临时服务端a获取到服务端B的数据。客户端A再去请求临时服务端a,让客户端A的程序运行服务端a上,请求自己服务端的数据,不存在跨域问题,可以间接的获取到服务端的B的数据
(2)JSONP:不使用XMLHttpRequest,使用网页自身携带的默认请求方式,
如:html的script标签
script标签默认会将引入的文本内容作为js代码解析
要求后端响应一段“前端执行函数的语法”,在“前端执行函数的语法”内,传参,参数是原本跨域的数据
在前端提前定义一个后端返回的“前端执行函数的语法”的同名函数,通过参数接收后端响应的数据
(3)CORS策略:
纯后端设置
23day1214跨域
于 2022-12-14 21:14:47 首次发布