4.同源策略与跨域请求

一.同源策略基本概念

1.同源策略概念:

  一种约定,它是浏览器最核心也是最基本的安全功能,同源指域名、协议、端口需要保持一直才能进行相互间的访问。

2.例子:

(1)http://a.com没有办法访问到http://b.com下的脚本文件和文档。

(2)浏览器采用同源策略,禁止页面加载或执行与自身那个来源不同的域的任何脚本。换句话说浏览器禁止的是来源不同的“document”或脚本用来对当前“document”读取或设置某些属性。

(3)哪些不受同源限制

  • <script>、<img>、<iframe>、<link>这些包含src属性的标签可以加载跨域资源。但浏览器限制了JavaScript的权限使其不能读、写加载的内容。

二.跨域请求的概念

1.概念:

  发起请求的域和指向的资源所在的域不同时,则称为跨域请求,这里的域值协议+域名+端口

三.跨域请求的解决方案

1.解决方案

  • 通过JSONP可以实现跨域请求处理过程

  • 通过CORS来实现跨域请求处理过程

  • 通过nginx代理来实现跨域请求处理过程

2.JSONP实现的跨域请求

(1)使用<script>标签的src属性请求跨域资源

(2)使用jquery的ajax请求跨域资源,必须是get请求,dataType必须为jsonp

3.CORS(跨域资源共享)

直接在服务器端配置,客户端就可以自由的请求资源了

4.代理实现跨域过程

  • Nginx代理

  • Node的中间件实现代理

Node中间件实现代理:

  • 通过express实现请求转发过程:将localhost:3000/api/foo/bar 通过服务器请求转发到http://www.example.org/api/foo/bar

  • 需要使用npm安装express和http-proxy-middleware

原文地址:https://www.cnblogs.com/zhihaospace/p/12375159.html

时间: 2024-08-11 19:33:37

4.同源策略与跨域请求的相关文章

【转】同源策略和跨域请求解决方案

一.一个源的定义 如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源.举个例子: 下表给出了相对http://a.xyz.com/dir/page.html同源检测的示例: URL 结果 原因 http://a.xyz.com/dir2/other.html 成功 协议,端口(如果有指定)和域名都相同 http://a.xyz.com/dir/inner/another.html 成功 协议,端口(如果有指定)和域名都相同 https://a.xyz.com/secure

同源策略和跨域-总结

目录: 1.同源策略 2.跨域 3.几种跨域技术 1.同源策略 什么叫同源? URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源.相反,只要协议,域名,端口有任何一个的不同,就被当作是跨域. e.g. 对于http://store.company.com/dir/page.html进行同源检测: URL 结果 原因 http://store.company.com/dir2/other.html 成功 仅路径不同 http://store.company.c

JS同源策略和跨域访问

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现. 1. 什么是同源策略 理解跨域首先必须要了解同源策略.同源策略是浏览器上为安全性考虑实施的非常重要的安全策略. 何谓同源: URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源. 同源策略: 浏览器的同源策略,限制了来自不同源的"doc

同源策略和跨域访问

1. 什么是同源策略 理解跨域首先必须要了解同源策略.同源策略是浏览器上为安全性考虑实施的非常重要的安全策略.     何谓同源:         URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源.     同源策略:         浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性. (白帽子讲web安全[1])         从一个域上加载的脚本不允许访问另外一

同源策略与跨域访问

1. 什么是同源策略 理解跨域首先必须要了解同源策略.同源策略是浏览器上为安全性考虑实施的非常重要的安全策略.    何谓同源:        URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源.    同源策略:        浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性. (白帽子讲web安全[1])        从一个域上加载的脚本不允许访问另外一个域的文档

解说同源策略和跨域访问

尽管浏览器的安全措施多种多样,但是要想黑掉一个Web应用,只要在浏览器的多种安全措施中找到某种措施的一个漏洞或者绕过一种安全措施的方法即可.浏览器的各种保安措施之间都试图保持相互独立,但是攻击者只要能在出错的地方注入少许JavaScript,所有安全控制几乎全部瓦解--最后还起作用的就是最弱的安全防线:同源策略.同源策略管辖着所有保安措施,然而,由于浏览器及其插件,诸如Acrobat Reader.Flash 和Outlook Express漏洞频出,致使同源策略也频频告破. 既然web应用的最

浏览器的同源策略和跨域访问

1. 什么是同源策略 理解跨域首先必须要了解同源策略.同源策略是浏览器上为安全性考虑实施的非常重要的安全策略.    何谓同源:        URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源.    同源策略:        浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性.        从一个域上加载的脚本不允许访问另外一个域的文档属性. 举个例子:      

同源策略和跨域解决方案

同源策略 一个源的定义 如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源. 举个例子: 下表给出了相对http://a.xyz.com/dir/page.html同源检测的示例: URL 结果 原因 http://a.xyz.com/dir2/other.html 成功   http://a.xyz.com/dir/inner/another.html 成功   https://a.xyz.com/secure.html 失败 不同协议 ( https和http ) h

同源策略与跨域问题

在前后端通信时,有时会遇到跨域问题,接下来将从以下几个方面进行跨域详解. 1. 为什么会有跨域问题? 2. 什么是同源策略? 3.前后端通信方式有哪些? 4.解决跨域通信的方式有哪些? 5.解决跨域方式详细说明 为什么会有跨域问题? 答:是由于浏览器的同源策略. 什么是同源策略? 答:同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能. 同源策略限制了从一个源加载的文件或脚本如何与另一个源的资源进行交互.这是一个用于隔离潜在恶意文件的安全机制. 那什么