学习ASP.NET Core(11)-解决跨域问题与程序部署
上一篇我们介绍了系统日志与测试相关的内容并添加了相关的功能;本章我们将介绍跨域与程序部署相关的内容 一、跨域 1、跨域的概念 1、什么是跨域? 一个请求的URL由协议,域名,端口号组成,以百度的https://www.baidu.com为例,协议为https,域名由子域名www和主域名baidu组成,端口号若为80会自动隐藏(也可以配置为其它端口,通过代理服务器将80端口请求转发给实际的端口号)。而当请求的URL的协议,域名,端口号任意一个于当前页面的URL不同即为跨域 2、什么是同源策略? 浏览器存在一个同源策略,即为了防范跨站脚本的攻击,出现跨域请求时 浏览器会限制自身 不能执行其它网站的脚本(如JavaScript)。所以说当我们把项目部署到Web服务器后,通过浏览器进行请求时就会出现同源策略问题;而像PostMan软件因其是客户端形式的,所以不存在此类问题 3、跨域会导致什么问题? 同源策略会限制以下行为: Cookie、LocalStorage和IndexDb的读取 DOM和JS对象的获取 Ajax请求的发送 2、常用的解决方法 这里我们将简单介绍针对跨域问题常用的几种解决办法,并就其中的Cors方法进行配置,若对其它方式感兴趣,可参照老张的哲学的文章, ⅖ 种方法实现完美跨域 2.1、JsonP 1、原理 上面有提到浏览器基于其同源策略会限制部分行为