CORS와 보안 관련 HTTP 헤더
프론트엔드와 API 서버 분리 환경에서 필수적인 CORS 설정과 웹 보안을 위한 주요 HTTP 헤더 설정 방법

CORS (Cross-Origin Resource Sharing)
동일 출처 정책 (Same-Origin Policy)
웹 브라우저의 보안 정책으로 특정 출처에서 다른 출처의 리소스 접근을 제한
출처는 Protocol, Host, Port의 조합으로 결정
CORS 동작 방식
단순 요청: GET, HEAD, POST 메서드와 기본 헤더만 사용하는 요청
예비 요청: 단순 요청 조건을 벗어나는 경우 OPTIONS 메서드로 먼저 확인
인증 정보 포함 요청: 쿠키, 인증 헤더 등을 포함하며 양쪽 모두 특별한 설정 필요
Django CORS 설정
보안 HTTP 헤더
HSTS (Strict-Transport-Security)
HTTP 연결을 강제로 HTTPS로 전환하여 중간자 공격 방지
CSP (Content-Security-Policy)
신뢰할 수 있는 콘텐츠 소스를 지정하여 XSS 공격 방어
django-csp 라이브러리 사용 권장
X-Content-Type-Options
브라우저의 MIME 타입 스니핑 공격 방지
X-Frame-Options
다른 사이트의 iframe 내부 렌더링을 막아 Clickjacking 공격 방지
Referrer-Policy
다른 출처로 이동 시 전송되는 Referer 헤더 정보 제어
Last updated
