[Spring] @CrossOrigin

LeHoODU·2023년 11월 7일
0
post-thumbnail

개발 중 서로 다른 포트의 모듈 간 데이터를 주고 받을 때, CORS 정책 위반이라는 콘솔을 보고 알아보게 되었다.


1.CORS란?

CORS(Cross-Origin Resource Sharing)는 출처가 다른 자원들을 공유한다는 뜻으로, 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념이다. 그와 반대인 SOP도 존재한다. SOP는 Same-Origin-Policy로서 웹 브라우저 보안을 위해 프로토콜, 호스트, 포트가 동일한 서버로만 ajax 요청을 주고 받을 수 있도록 한 정책이다.


2.출처(Origin)란?


💥Origin(Protocol+Host+Port)이 일치하면 SOP, 그렇지 않다면 CORS를 따른다.


3.@CrossOrigin 사용방법

@CrossOrigin(origins = "")
public class insertTable{
}

💡어노테이션을 메소드 위에 작성하였다면, 해당 메소드만 모든 도메인, 모든 요청 방식에 대해 허용하게 된다.
💡여러 도메인을 허용하고 싶다면, 어노테이션 파라미터 안에 주소를 입력하면 된다. (origin="http://...")
💡모든 사이트를 허용하고 싶다면 (origin="*")로 표기하면 된다.






참고
https://docs.tosspayments.com/common/glossary/cors
https://velog.io/@onerain130/CORS-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC
https://henniee.tistory.com/199
https://velog.io/@yejinh/CORS-4tk536f0db

profile
Back-End Developer

0개의 댓글