| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 【实习】跨域问题 -> 正文阅读 |
|
[JavaScript知识库]【实习】跨域问题 |
前段时间发现自己负责的测试环境下的系统接口访问不通/总是显示用户未登录。 借这个机会总结一下这个网络中的“跨域问题”。 参考: 一.为什么会出现跨域问题浏览器的同源策略限制。 1. 同源策略同源策略是一种安全策略,是浏览器最核心、最基本的安全功能。 浏览器要求,在解析Ajax请求时,要求浏览器的路径与Ajax的请求的路径必须满足三个要求(协议、域名、端口号都相同),则满足同源策略,可以访问服务器。
2.AJAX 简介AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个页面。 有很多使用 AJAX 的应用程序案例:Google Maps、Gmail、Youtube 和 Facebook。 工作流程: 1.用户发送请求(例如在网页上点击按钮),此时由javascript创建XMLHttpRequest对象。 3.同源策略案例案例1: 案例2: 案例3: 案例4: 案例5: 案例6: 4.非同源限制【1】无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB 【2】无法接触非同源网页的 DOM 【3】无法向非同源地址发送 AJAX 请求 二.什么是跨域CORS全称Cross-Origin Resource Sharing,意为跨域资源共享。当一个资源去访问另一个不同域名或者同域名不同端口的资源时,就会发出跨域请求。如果此时另一个资源不允许其进行跨域资源访问,那么访问就会遇到跨域问题。 跨域指的是浏览器不能执行其它网站的脚本。是由浏览器的同源策略造成的,是浏览器对JavaScript 施加的安全限制。 当一个请求url的协议,域名,端口三者之间任意一个与当前的url不同都即为跨域
三、跨域解决方法1.CORS方式https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS CORS方式就是通过服务器设置响应头信息来实现跨域 。 后端需要做什么?需要加 响应头, 或者使用第三方模块 cors
CORS调用原理图: 2.jsonp的使用是程序员被迫想出来的解决跨域的方案。
概念 核心用法 返回值语法固定的: 原理
为什么不使用image等src? 3.nginx 代理转发利用nginx反向代理,将请求分发到部署相应项目的tomcat服务器,当然也不存在跨域问题。 1).代理服务和前端服务之间由于协议域名端口三者统一不存在跨域的问题,可以直接发送请求 2).代理服务和后端服务之间并不通过浏览器没有同源策略的限制,可以直接发送请求 总结跨域问题在目前后端分离的项目中普遍存在。 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:37:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |