티스토리 뷰
[Framework]spring/스프링/CORS/크로스도메인/crossorigin/동일출처정책 - 스프링에서 크로스 도메인 뚫기
혲이. 2017. 11. 14. 11:19웹 프로젝트를 진행하면서 두개의 서버에 데이터를 주고받아야하는 경우가 생겼다.
이러한 경우는 처음이라... 열심히 삽질을 하여 알게된 지식들을 잊어버리지 않기 위해 정리하겠다.
1. 동일 출처 정책(Same Origin Policy)
자바스크립트 엔진 표준 스펙에 동일 출처 정책이라는 것이 있다.
이는 자바스크립트에서
다른 출처의 문서나 스크립트 등 자원과 상호작용하지 못하도록 막은 보안 정책이다.
참고사이트:
https://www.w3.org/Security/wiki/Same_Origin_Policy
https://en.wikipedia.org/wiki/Same-origin_policy
아래의 위키백과에 있는 표를 보면 어떠한 경우에 동일 출처정책에 위반되는 지 알수 있다.
프로토콜,도메인,포트번호가 출처의 기준이다.
2. 크로스도메인
위의 동일출처정책을 위반하였을때, 즉 본 출처와 다른 출처에 접근하였을때, 나타나는 보안문제이다.
이는 브라우저마다 콘솔창에 다른 메세지를 띄우지만, 내용은 동일하다.
Origin is not allowed access...
3. CORS메커니즘(cross-orgin resource sharing)
이러한 자바스크립트의 동일출처정책은 최근 REST API 사용이 급증하면서 불편한 정책 중 하나로 다뤄지고 있다.
그래서 나온 대안이 CORS이다.
참고사이트:
https://www.w3.org/Security/wiki/CORS
https://developer.mozilla.org/ko/docs/Web/HTTP/Access_control_CORS
간단히 말해, 특정 도메인만 크로스도메인을 허용하는 정책이다.
이를 구현하는 방법은 여러가지이지만, 진행하였던 웹프로젝트 조건이
서버와 클라이언트 모든 소스를 수정할수 있는 상황 이었으므로
@CrossOrigin
을 사용하여 구현하였다.
다음에 시간이 있으면 @CrossOrigin에 대해 작성하겠다.
**크로스도메인을 위해 JSONP로도 구현해보았지만 크로스 사이트 스크립트에 취약하다는 이유로 윗선에서 수정요청을 받았다ㅜㅜ
그래서.. JSONP는 추천하지 않는 방법이다!하하하
'FrameWork > Spring' 카테고리의 다른 글
스프링(Spring) 컨테이너의 생명 주기 (0) | 2021.05.24 |
---|---|
스프링(Spring) Bean 생성하기 (0) | 2021.05.24 |
스프링(Spring) DI(Dependency Injection)와 IoC 컨테이너 (0) | 2021.05.24 |
스프링 프레임워크(Spring) 장점 및 특징 (0) | 2021.05.12 |
[Framework]@CrossOrign 알고리즘 (0) | 2017.11.14 |
- Total
- Today
- Yesterday
- 캐시삭제
- 프론트엔드개발자
- html
- boj
- 백준퇴사
- html꿀팁
- C# java 차이점
- 개발중캐시삭제
- c#
- 퇴사
- script버전
- 런타임에러
- C++
- 백준14501
- 프론트엔드
- 백준
- 선언적트랜잭션 #noRollbackFor #@Transactional
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |