본문 바로가기

JAVA/Spring Framework

Spring Security CORS

728x90

 

 

CORS란 “Cross-Origin Resource Sharing”의 약자입니다. CORS는 프로토콜인데, 서로 다른 origin일 시 리소스와 상호 작용하기 위해 클라이언트인 브라우저에서 실행되는 스크립트입니다. 예를 들어 UI 앱에서 서로 다른 도메인인 API를 호출할 시 CORS로 인해 기본적으로 차단됩니다. 이는 대부분의 브라우저에서 구현되는 W3C의 스펙입니다.

따라서 CORS는 보안이나 공격과 같은 문제가 아니라 서로 다른 Orgin 간의 데이터 및 통신을 할 때 브라우저에서 이를 중지하기 위해 제공하는 기본 보호 기능입니다.

예를 들어 큰 규모의 IT 기업일 경우 백엔드 서버와 프론트엔드 서버의 IP가 서로 다릅니다. 이때 프론트엔드 서버에서 클라이언트가 로그인을 했을 때, 백엔드의 로그인 API가 호출될 것입니다. 이때 백엔드에서 프론트엔드 도메인을 CORS 허용 설정하지 않으면 접근이 차단되는 것입니다. 반대로 말하자면 JSP, 타임리프와 같은 백엔드와 프론트엔드가 같이 구동되는 서버 사이드 렌더링의 경우라면, CORS 설정은 신경쓰지 않아도 무방합니다. 왜냐면 하나의 아이피에 프론트와 백엔드가 구동되기 때문입니다.

 

이때 CORS를 허용해야 api를 통해 리소스에 접근할 수 있습니다.  따라서 백엔드에서 코드를 추가해 CORS를 허용해야 합니다.

 

 

 

https://jaykaybaek.tistory.com/29

 

[Spring Security] CORS, CSRF란?

CORS란? CORS란 “Cross-Origin Resource Sharing”의 약자입니다. CORS는 프로토콜인데, 서로 다른 origin일 시 리소스와 상호 작용하기 위해 클라이언트인 브라우저에서 실행되는 스크립트입니다. 예를 들어

jaykaybaek.tistory.com

 

'JAVA > Spring Framework' 카테고리의 다른 글

spring에서의 servlet  (0) 2024.06.23
spring reactive  (0) 2022.07.12
자바 비동기 CompletableFuture  (0) 2022.06.29
ioc, di  (0) 2022.02.20
Controller restcontrollor  (0) 2021.06.16