-
[스프링 개념과 활용] CORSSPRING/스프링부트 개념과 활용 2021. 1. 7. 23:21
CORS란?
Cross-Origin Resource Sharing의 약자이다.
서로 다른 origin 끼리 통신을 할 수 있도록 하는 표준 기술
EX:) 서로 다른 프로젝트 끼리도 AJAX 통신이 가능함.
SOP란?
반대되는 개념은 SOP으로 Single-Origin Policy의 약자이다.
같은 origin에만 요청을 보내고 리턴을 받을 수 있도록 하는 표준 기술
EX:) 같은 프로젝트 내에서만 AJAX 통신이 가능함.
CORS 예제 테스트
- Client단
Client
jquery를 사용하기 위해서는 pom.xml에 아래와 같은 dependency를 추가한다.
<dependency> <groupId>org.webjars.bower</groupId> <artifactId>jquery</artifactId> <version>3.4.1</version> </dependency>
client 프로젝트와 server프로젝트 두개의 웹서버를 띄울 것이기 때문에 client 프로젝트에는 아래와 같이 port 번호를 별도로 설정해준다.
- server단
client 프로젝트와 server 프로젝트가 서로 다른 프로젝트이기 때문에, 위와 ajax 통신에 실패를 하게된다.
@CrossOrigin 주석을 풀고 실행시에는 아래 스크린샷과 같이 성공을 한다.
설정파일로 CORS 허용 관리하는 방법
- web 관련된 설정 파일 생성
- addCorsMapping을 override해서 Mapping과 allowedOrigins 을 추가한다.
'SPRING > 스프링부트 개념과 활용' 카테고리의 다른 글
[스프링부트 개념과 활용] MYSQL 연동 & DBCP (0) 2021.01.10 [스프링부트 개념과 활용] 인메모리 데이터베이스(H2) (0) 2021.01.09 [스프링부트 개념과 활용] HATEOAS (0) 2021.01.03 [스프링부트 개념과 활용] ExceptionHandler (0) 2021.01.03 [스프링부트 개념과 활용] 템플릿 엔진 - Thymeleaf (0) 2021.01.01