본문 바로가기

Javascript/NestJS

CORS

 

1. CORS (Cross-Origin-Resource-Sharing)

(1)  추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제

(2) 리소스가 자신의 출처(도메인, 프로토콜, 포트) 와 다를 때 교차 출처 HTTP 요청을 실행

(3) CORS 체제는 브라우저와 서버 간의 안전한 교차 출처 요청 및 데이터 전송을 지원

(4) 최신 브라우저는 XMLHttpRequest 또는 Fetch와 같은 API에서 CORS를 사용하여 교차 출처 HTTP 요청의 위험을 완화

 

2.  기능적 개요

(1) 교차 출처 리소스 공유 표준은 웹 브라우저에서 해당 정보를 읽는 것이 허용된 출처를 서버에서 설명할  수 있는 새로운 HTTP 헤더를 추가함으로써 동작

(2) 서버 데이터에 부수 효과(side effect)를 일으킬 수 있는 HTTP 요청 메서드에 대해, CORS 명세는 브라우저가 요청을  OPTIONS 메서드로 Preflight하여 지원하는 메서드를 요청

(3) 서버의 permission이 떨어진다면 실제 요청을 보내도록 요구

(4) 서버는 클라이언트에게 요청에 인증정보(쿠키, HTTP 인증)을 함께 보내야 한다고 알려줄 수 도 있음

 

 

 

 

 

 

참고

https://developer.mozilla.org/ko/docs/Web/HTTP/CORS

'Javascript > NestJS' 카테고리의 다른 글

이미지 업로드  (0) 2022.12.18
소셜 로그인  (0) 2022.12.18
결제 시스템  (0) 2022.12.18
Authentication / Authorization  (0) 2022.12.05
암호화 (단방향, 양방향)  (0) 2022.12.05