首页 > 编程语言 >Java登陆第四十二天——跨域

Java登陆第四十二天——跨域

时间:2024-04-14 15:34:27浏览次数:26  
标签:Control Java 跨域 Access 服务器 第四十二 response setHeader

浏览器拥有最基本的安全机制,同源策略。
	违背同源策略的交互,会被浏览器认为是不安全的交互,所以不解析。

什么是域?(源)
	协议,域名,端口。

什么是跨域?
	访问不同的域。
	即便协议,域名相同,端口号不一样也会违背同源策略。

前后端分离后,前端服务器负责视图,后端服务器负责数据。
	不同的服务器,其域必定不同。
	假设前端服务器为localhost:5173
	假设后端服务器为localhost:8080
	所以,前端请求后端,后端响应的数据浏览器不会解析。

一图了解跨域

image

跨域的解决办法

常见的两种解决办法

前端代理请求

image

此解决办法简单有效,但会加大前端服务器压力。

后端跨域过滤器

image
最常见的跨域处理方式,服务器会在接收到预检请求后,响应一堆跨域响应头。

预检请求通常是OPTIONS的请求方式

response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT,OPTIONS, DELETE, HEAD");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With");

标签:Control,Java,跨域,Access,服务器,第四十二,response,setHeader
From: https://www.cnblogs.com/rowbed/p/18134191

相关文章

  • JavaScript判断图片是否已经加载完毕的方法汇总_javascript技巧
    JavaScript判断图片是否已经加载完毕的方法汇总_javascript技巧 在网上有很多关于判断图片是否已经加载完毕的文章,但是有的浏览器并不适合,下面小编给大家分享一些有关JavaScript判断图片是否已经加载完毕方法汇总,具体内容如下所示:一.onload事件通过监听图片的onload事件,可......
  • java 单例模式
    单例模式(SingletonPattern)是Java中最简单的设计模式之一,这种类型的设计模式属于创建型模式。目的是确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。这样做可以节省系统资源,并且保证某些类在系统中只存在一个实例。主要解决:一个全局使用的类频繁地创建与......
  • thinkphp+vue跨域报错解决方案
     使用vue的axios.post向后台服务器的发送数据时报错:CORSpolicy:Responsetopreflightrequestdoesn'tpassaccesscontrolcheck:No'Access-Control-Allow-Origin'headerispresentontherequestedresource. 解决办法在public/index.php文件中添加以下代码://......
  • java中的包装类
    java中的包装类为什么要有包装类在面向对象中“一切皆对象”,但是基本类型的数据不太符合这一理念,为了统一概念,因此,把基本类型包装成了引用类型的数据基本类型对象的包装类型,除了可以满足基本的类型的基本需求,还附加了其他的方法,例如:类型转化,数据类型之间的操作等等基本类型......
  • [javascript]知识点
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/18031963出自【进步*于辰的博客】目录1、其他知识点链接2、严格模式3、类、对象3.1介绍3.2自定义对象3.2.1创建对象方法3.2.2建立继承关系4、变量5、this10、关于var与......
  • Java集合
    Java集合本文中引入的源码为JDK11什么是Java集合Java集合(Java集合类)是java数据结构的实现。Java集合类是java.util包中重要内容,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法。Java集合类是Java将一些基本的和使用频率极高的基础类进行封装和增强后再......
  • ES7.17.20连接时报错:java.lang.NoSuchMethodError: org.elasticsearch.client.Request
    1.报错详情:java.lang.NoSuchMethodError:org.elasticsearch.client.RequestOptions$Builder.removeHeader(Ljava/lang/String;)Lorg/elasticsearch/client/RequestOptions$Builder; atco.elastic.clients.transport.rest_client.RestClientOptions.addBuiltinHeaders(RestCli......
  • java: 无法访问org.mybatis.spring.annotation.MapperScan、类文件具有错误的版本 61.
    使用的Mybatis-spring依赖的版本3.0.1太高,将版本改为2.2.2<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><depende......
  • 使用java client连接ES7.17.20时报错:Caused by: java.lang.NoClassDefFoundError: Cou
    1.报错详情Causedby:java.lang.NoClassDefFoundError:Couldnotinitializeclasscom.fasterxml.jackson.databind.cfg.DatatypeFeatures$DefaultHolder atcom.fasterxml.jackson.databind.cfg.DatatypeFeatures.defaultFeatures(DatatypeFeatures.java:33)~[jackson-data......
  • JavaScript基础
    JavaScript一、js编写位置位置1:script标签中<scripttype="text/javascript"> vara=1;...</script>位置2:标签中绑定事件<buttononlick="alert(123);">Click</button>位置3:超链接的href属性中<ahref="javascript:alert('......