728x90
CORS(Cross Origin Resource Sharing)이란
- 웹 서버에게 보안 cross-domain 데이터 전송을 활성화하는 cross-domain 접근 제여권을 부여
CORS 배경
- 처음 전송되는 리소스의 도메인과 다른 도메인으로부터 리소스가 요청될 경우 해당 리소스는 cross-origin HTTP 요청에 의해 요청
- 보안상의 이유로 브라우저들은 스크립트 내에 초기화되는 cross-origin HTTP 요청을 제한함
- 예시로 XMLHttpRequest는 same-origin 정책을 따르기 때문에 XMLHttpRequest를 사용하는 웹 어플리케이션은 자신과 동일한 도메인으로 HTTP 요청을 보내는 것만 가능했음
- 웹 애플리케이션을 개선시키기 위해, 개발자들은 브라우저 벤더사들에게 XMLHttpRequest가 cross-domain 요청을 할 수 있도록 요청했고 이에 따라 CORS가 생겼음
CORS 과정
- CORS 요청 시에는 미리 OPTIONS 주소로 서버가 CORS를 허용하는지 물어봄
- 이때 Access-Control-Request-Method로 실제로 보내고자 하는 메서드를 알림
- Access-Control-Request-Headers로 실제로 보내고자 하는 헤더들을 알림
- Allow 항목들은 Request에 대응되는 것으로, 서버가 허용하는 메서드와 헤더를 응답하는데 사용됨
- Request랑 Allow가 일치하면 CORS 요청이 이루어짐
'NETWORK' 카테고리의 다른 글
[NETWORK] GET / POST 메서드 비교 (0) | 2021.11.01 |
---|---|
[NETWORK] REST API (0) | 2021.10.31 |
[NETWORK] 요청 응답 헤더 (0) | 2021.10.29 |
[NETWORK] HTTP / HTTPS (0) | 2021.10.28 |
[NETWORK] L4 스위치 (0) | 2021.09.27 |