首页 > 其他分享 >跨域

跨域

时间:2023-02-01 15:02:03浏览次数:50  
标签:浏览器 请求 跨源 CORS HTTP 跨域

目录

1. 跨域定义

跨源资源共享CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其它(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。

跨源 HTTP 请求的一个例子:运行在 https://domain-a.com 的 JavaScript 代码使用 XMLHttpRequest 来发起一个到 https://domain-b.com/data.json 的请求。

出于安全性,浏览器限制脚本内发起的跨源 HTTP 请求。例如,XMLHttpRequestFetch API 遵循同源策略。这意味着使用这些 API 的 Web 应用程序只能从加载应用程序的同一个域请求 HTTP 资源,除非响应报文包含了正确 CORS 响应头。

CORS 机制允许 Web 应用服务器进行跨源访问控制,从而使跨源数据传输得以安全进行。现代浏览器支持在 API 容器中(例如 XMLHttpRequestFetch)使用 CORS,以降低跨源 HTTP 请求所带来的风险。

CORS 机制的图表表示

2. 跨域使用场景

3. 跨域的工作方式

4. 跨域报错形式

跨域检测是浏览器行为,所以F12中可以直接看到。

5. SpringBoot中处理跨域的方式

参考文档

[1] 跨源资源共享(CORS)

标签:浏览器,请求,跨源,CORS,HTTP,跨域
From: https://www.cnblogs.com/bloodcolding/p/17082642.html

相关文章

  • 跨域跨域跨域
    今天新的一个webapi项目和一个新的前端项目,webapi接口已经用apipost测试好了没问题,返回值也正常前端请求了以后也能进入到webapi的断点内,就是在return时,前端就会进入fail......
  • vue 使用天地图地理编码API 报跨域错误: from origin 'http://localhost' has been blo
     解决办法加了一个header头之后可以正常访问  "Access-Control-Allow-Origin":"*",;axios.get(`${this.addressBDApi}geocoder?ds={"k......
  • 跨域问题
    根本原因跨域,是指浏览器限制跨域脚本的执行。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。同源策略所谓的同源是指,域名、协议、端口均为相同。......
  • 【Powrershell】-备份/还原/跨域导入组策略
    #1Powershell备份组策略PS脚本代码如下: $a=Get-Date-Format"yyyyMd"#exampleyyymd=2023128$path="D:\GPOBackup"#changeitNew-Item$path-ItemTypeDirectory-Nam......
  • 使用响应头重写功能,解决跨域问题
    借助:ReplaceGoogleCDN响应头重写功能,解决跨域问题缘由:临时起意,想看deno在【微博站点或者微信公众号】中被搜索引擎收录情况,并且把结果显示在指定站点关键点:解决不同站......
  • options请求(跨域预检)
     原文链接:https://blog.csdn.net/weixin_43822787/article/details/121036722 概述options请求就是预检请求,可用于检测服务器允许的http方法。当发起跨域请求时,由......
  • 后端跨域问题导致java.io.IOException: UT010029: Stream is closed解决办法
    转载自:https://blog.csdn.net/qq_45925197/article/details/126708024背景下载文件压缩成zip包接口,postman自测没问题,但在和前端联调的时候前端就会出现如下跨域的报错......
  • vue配置反向代理解决跨域__Vue.js
    正向代理与反向代理正向代理:在客户端和原始服务器(originserver)之间架设一个代理服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后......
  • ajax跨域访问的问题解决
    在web项目中经常用到在ajax中进行跨域访问,比如在a域中访问b域中的服务,却实现不了。原因是:浏览器为了保证服务器数据的安全,对于这种请求,所给予的权限是较低的,通常只允许调用......
  • Vue3 proxy 解决跨域
    1.首先我们先了解一下什么是跨域主要是出于浏览器的同源策略限制,它是浏览器最核心也最基本的安全功能。当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不......