23년 8월 23일 수요일
오늘의 목표 : CORS(Cross Origin Resource Sharing)에 대해 설명
오늘 공부한 내용🤓
· 정의 : CORS(Cross-Origin Resource Sharing)는 웹 애플리케이션에서 발생하는 보안 정책인 동일 출처 정책(Same-Origin Policy)을 우회하여 다른 출처(origin) 간에 데이터 및 리소스를 안전하게 공유할 수 있도록 허용하는 메커니즘
→ 웹 브라우저는 기본적으로 동일 출처 정책을 적용하여 스크립트나 리소스가 동일한 출처에서 로드되어야 한다는 규칙이 있고 이로 인해 웹 페이지는 자신의 출처에서 로드된 리소스만 접근할 수 있으며, 다른 출처의 리소스에는 접근하지 못한다.
CORS는 이러한 정책을 느슨하게 만들어 다른 출처 간에 특정 조건하에서 리소스를 공유할 수 있도록 합니다. 주로 HTTP 헤더를 사용하여 이 메커니즘을 제어한다.
· CORS 작동 방식
요청: 클라이언트가 다른 출처의 리소스에 접근하는 요청 전송
사전 요청 (Preflight Request): 브라우저는 실제 요청을 보내기 전에 사전 요청을 보내어 서버가 특정 도메인에서 요청을 받아들일 수 있는지 확인
서버 응답: 서버는 사전 요청에 대한 응답으로 CORS 관련 정보를 포함한 HTTP 헤더를 클라이언트에게 전송
실제 요청: 서버의 응답이 허용되는 경우, 클라이언트는 실제 요청을 보내고 서버는 리소스를 반환
· CORS 관련 HTTP 헤더
Origin: 요청을 보낸 출처의 정보가 담겨 있음
Access-Control-Allow-Origin: 허용된 출처(도메인)를 설정하여 해당 출처에서 요청을 받아들일 수 있도록 함
Access-Control-Allow-Methods: 허용된 HTTP 메서드를 설정
Access-Control-Allow-Headers: 허용된 HTTP 헤더를 설정
Access-Control-Allow-Credentials: 쿠키와 인증 정보를 사용할 수 있는지 여부를 설정
Access-Control-Expose-Headers: 클라이언트에게 노출되는 헤더를 설정
보안 상의 이유로 모든 출처에서 리소스를 공유하는 것은 안전하지 않을 수 있기때문에 출처 간 리소스 공유는 서버 측에서 정확하게 구성되어야 하며, 필요한 허용 출처 및 요청 유형을 명확하게 설정해야 한다.
어려웠던 내용😵💫
궁금&부족한 내용❓
느낀 점💡
'📌TIL [Today I Learn]' 카테고리의 다른 글
[TIL] 23년 8월 25일 금요일 (0) | 2023.08.25 |
---|---|
[TIL] 23년 8월 24일 목요일 (0) | 2023.08.24 |
[TIL] 23년 8월 22일 화요일 (0) | 2023.08.22 |
[TIL] 23년 8월 21일 월요일 (0) | 2023.08.21 |
[TIL] 23년 8월 18일 금요일 (0) | 2023.08.18 |