测试跨域

目录:

1、什么是跨域

2、常见跨域场景

3、跨域处理办法

4、跨域自测方法

5、关于跨域的说明

https://howtodoinjava.com/spring5/webmvc/spring-mvc-cors-configuration/

正文

1、什么是跨域

跨源资源共享 简称CORS
CORS (Cross-origin resource sharing) allows a webpage to request additional resources into browser from other domains e.g. fonts, CSS or static images from CDN. CORS helps in serving web content from multiple domains into browsers who usually have the same-origin security policy.

都在说跨域,为什么postman能访问接口,而浏览器就不行呢?这里需要理解什么是跨域,跨域是指的当前资源访问其他资源时发起的http请求由于安全原因(由于同源策略,域名、协议。端口中只要有一个不同就不同源),浏览器限制了这些请求的正常访问,特别需要注意的是这些发生在浏览器中。而通过postman等工具调用接口时,只是简单的访问一个资源,并不存在资源的相互访问。

跨域并非一定要解决的问题,只有需要时才应该处理,无缘由的处理跨域等于随意破坏系统的安全性。

2、常见跨域场景

对于前后端分离的项目,前端往往会调用多个不同域名服务器下的资源,由于浏览器的安全策略,限制了这种资源访问方式,导致跨域问题发生。

3、跨域处理办法

根据springboot、springmvc等项目不同具体决绝。
常见2种方法:具体内容非本文重点,不做详述。

1》跨域过滤器
2》使用jsonp

4、跨域自测方法

1》首先构建跨域场景

修改hosts文件,给127.0.0.1 绑定多个不同的域名,如:
127.0.0.1 test.com
127.0.0.1 test1.com

这样,就可以通过test.com、test1.com以及localhost三个域名访问 自己的同一个工程了。

然后,首先在浏览器地址栏中直接访问自己工程的get方法

在这里插入图片描述

2》使用测试工具测试

构建从当前localhost地址跨域访问http://test.com地址的场景:
在(浏览器同一个页面)F12打开【开发者工具】,在【Console】可以直接输入js代码测试:
var xhr = new XMLHttpRequest();
xhr.open(‘GET’, ‘http://test.com:8761/producer/get’);
xhr.send(null);
xhr.onload = function(e) {
var xhr = e.target;
console.log(xhr.responseText);
}

如下图:
回车,结果如下(当前未做跨域处理),如下图跨域错误
在这里插入图片描述

3》成功跨域测试

之后我们通过做了跨域处理的网关[localhost:8756]测试,可实现跨域正常访问
如下图:
其中地址栏使用test.com:8756作为域名访问
cosole控制台使用test1.com:8756作为域名访问

在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity WebGL项目中进行跨域请求时,可以通过以下几种方法解决跨域问题。第一种方法是在服务器端开启CORS(跨域资源共享)。通过在服务器端设置Access-Control-Allow-Origin头信息为"*",可以允许所有来源的请求。这样的设置可以在Web端进行http请求。 第二种方法是使用代理服务器。在开发WebGL项目时,如果在编辑器状态下访问正常,但是在打包并部署在服务器上时出现跨域问题,可以使用代理服务器来解决。具体的解决方案会根据项目署在本地或公网服务器上而有所不同。如果是在公网服务器上,可以根据操作系统的不同选择不同的解决方案,比如在Windows系统上使用头文件映射的方式来解决跨域问题。 第三种方法是通过浏览器安装插件来解决跨域问题。这种方法主要适用于临时测试的情况。对于Edge浏览器,可以安装Allow CORS插件来允许跨域请求。这样就可以在浏览器中正常进行跨域请求了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Unity-WebGL进行http请求的跨域问题](https://blog.csdn.net/weixin_38484443/article/details/116043684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Unity WebGL 跨域解决几种方法](https://blog.csdn.net/l100142548/article/details/131222737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值