# @CrossOrigin
@CrossOrigin은 CORS 설정을 위한 어노테이션이다.
메소드, 클래스위에 작성된다.
# CORS란?
Cross-Origin Resource Sharing의 약자이다.
원래 Same-Origin Policy라는 동일한 도메인으로만 HTTP 요청을 받을 수 있다는 규칙이 있었다.
그러나 이 규칙 때문에 다른 도메인의 API를 활용하는데 문제가 생기고, 한 서버에서 여러 도메인을 처리하는 경우에도 문제가 발생하게 된다.
때문에 이를 극복하기 위한 방법으로JSONP(JSON with Padding)이라는 다른 도메인에서 우회를 통해 서버로 접근하는 방법이 생겨난다. 하지만 이러한 방법은 보안상에 문제가 될 수 있기 때문에 계속 사용되도록 방치할 수 없었다고 한다.
그렇다고 아예 막아버리기엔 수요가 많았기 때문에 합법적(?)으로 다른 도메인에서도 서버에 접근할 수 있도록 해준 방법이 바로 CORS이다.
즉, CORS는 웹 페이지의 제한된 리소스를 외부 도메인 에서도 접근할 수 있게 허용해주는 메커니즘이다.
위의 CORS를 실현하기 위해 Spring에서 사용되는 어노테이션이 바로 @CrossOrigin이다.
'JAVA Spring' 카테고리의 다른 글
Spring Annotation) @GetMapping, @RequsetMapping 차이 (0) | 2020.08.31 |
---|---|
JAVA Spring) Web server failed to start. Port 8080 was already in use. 해결 방법 (0) | 2020.08.31 |
JAVA Spring) ResponseEntity란 무엇인가? (0) | 2020.08.31 |
Spring Annotation) @ResponseBody (0) | 2020.08.31 |
JAVA Spring) 프로젝트 생성하기 (0) | 2020.08.10 |
JAVA Spring 카테고리의 다른 글
JAVA Spring) Web server failed to start. Port 8080 was already in use. 해결 방법
JAVA Spring) ResponseEntity란 무엇인가?
Spring Annotation) @ResponseBody
JAVA Spring) 프로젝트 생성하기