初始跨域和CORS跨域资源共享以及JSONP
初始跨域
1.跨域是什么
向一个域发送请求,如果要请求的域和当前域是不同域,就叫跨域
不同域之间的请求,就是跨域请求
2.什么是不同域,什么是同域
https(协议)://www.imooc.com(域名):443(端口号)/course/list(路径)
协议,域名,端口号,任何一个不一样就是不同域
与路径无关,路径不一样无所谓(端口默认可以不写)
3.跨域请求为什么会被阻止
阻止跨域请求,其实是浏览器本身的一种安全策略--同源策略
其他客户端或者服务器都不存在跨域被阻止的问题
4.跨域解决方案
CORS跨域资源共享
JSONP(script)
优先使用CORS跨域资源共享,如果浏览器不支持CORS的话,再使用JSONP
CORS跨域资源共享
1.CORS是什么
CORS
(Cross-Origin Resource Sharing,跨域资源共享)由一系列 HTTP 响应头
组成,这些 HTTP 响应头
决定浏览器是否阻止前端 JS 代码跨域获取资源。
2.使用CORS跨域的过程
浏览器发送跨域请求
后端在响应头中添加Access-Control-Allow-Origin头信息
浏览器接收到响应
如果是同域下的请求,浏览器不会额外做什么,这次前后端通信就圆满完成了
如果是跨域请求,浏览器会从响应头中查找是否允许跨域访问
如果允许跨域,通信圆满完成
如果没找到或不包含想要跨域的域名,就丢弃响应结果
3.CORS的兼容性
IE10及以上版本的浏览器可以正常
JSONP
1.JSONP的原理
script标签跨域不会被浏览器阻止
JSONP主要就是利用script标签,加载跨域文件
2.使用JSONP实现跨域
服务器端准备好JSONP接口
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本