NETWORK

[NETWORK] CORS

집한구석 2021. 10. 31. 23:21
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 과정

  1. CORS 요청 시에는 미리 OPTIONS 주소로 서버가 CORS를 허용하는지 물어봄
  2. 이때 Access-Control-Request-Method로 실제로 보내고자 하는 메서드를 알림
  3. Access-Control-Request-Headers로 실제로 보내고자 하는 헤더들을 알림
  4. Allow 항목들은 Request에 대응되는 것으로, 서버가 허용하는 메서드와 헤더를 응답하는데 사용됨
  5. 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