[干货][计算机网络相关]HarmonyOS 鸿蒙Next什么是同源策略?怎么解决跨域问题?

发布于 1周前 作者 caililin 来自 鸿蒙OS

[干货][计算机网络相关]HarmonyOS 鸿蒙Next什么是同源策略?怎么解决跨域问题? 家人们,首先同源策略是什么?同源策略是浏览器的一种安全策略, 所谓同源是指域名、协议、端口完全相同,如果有一项不同源则出现跨域

然后是解决跨域的犯法:

跨域是浏览器的保护机制,如果绕过浏览器,使用代理服务器去请求目标服务器上的数据,就不会受跨域影响。因此前端可以通过webpack配置(见:webpack阶段)devSever下的proxy选项,将/api开头的请求转发到真实服务器上, 可以在 开发环境 下解决跨域问题

在 生产环境 下也可以使用nginx配置反向代理来解决跨域

接着是跨域问题解决方法的扩展:

jsonp: 实现方式是通过script标签传递数据,因为script的src属性请求不会被同源策略禁止,所以通过script标签的src属性去请求跨域数据, 但是jsonp只支持GET请求不支持POST请求, 所以没有广泛应用

CORS: 跨域资源共享是一种机制,它使用额外的 HTTP 头来告诉浏览器, 准许访问来自不同源服务器上的指定的资源, 后端设置

'Access-Control-Allow-Origin':'xxx'

更多关于[干货][计算机网络相关]HarmonyOS 鸿蒙Next什么是同源策略?怎么解决跨域问题?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于[干货][计算机网络相关]HarmonyOS 鸿蒙Next什么是同源策略?怎么解决跨域问题?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next同源策略及跨域问题解决方案

同源策略(Same-Origin Policy)是一种安全策略,它限制了一个源(协议、域名、端口三者相同)的文档或脚本如何与另一个源的资源进行交互。这一策略主要用于防止恶意网站读取另一个网站的数据。

在HarmonyOS鸿蒙Next环境下,开发Web应用时可能会遇到跨域问题,即当尝试从一个源访问另一个源的资源时,由于同源策略的限制,访问会被浏览器阻止。

解决跨域问题的方法主要有以下几种:

  1. CORS(跨来源资源共享):服务器设置CORS头部,允许特定的源访问资源。这是最常用的解决跨域问题的方法。

  2. JSONP(JSON with Padding):利用<script>标签不受同源策略限制的特点,通过动态创建<script>标签并设置其src属性为跨域请求的URL,同时URL中附带一个回调函数名,服务器返回的数据作为该函数的参数,从而实现跨域数据访问。但此方法仅支持GET请求。

  3. 代理服务器:将跨域请求转发给代理服务器,由代理服务器向目标服务器发起请求,再将响应返回给前端。这样,前端与代理服务器同源,不受同源策略限制。

  4. WebSocket:WebSocket是一种在单个TCP连接上进行全双工通讯的协议,它不受同源策略限制,可以实现跨域通信。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部