AI 요약
웹 개발자라면 반드시 알아야 할 보안 개념인 오리진(Origin), 동일 오리진 정책(Same-Origin Policy), CORS, 세션(Session)을 체계적으로 정리한 글이 공개됐다. 오리진은 스킴+호스트+포트의 조합으로 정의되며, 브라우저는 동일 오리진 정책을 통해 악의적인 사이트의 교차 오리진 요청을 차단한다. CORS는 서버가 특정 오리진의 접근을 명시적으로 허용하는 공식적인 메커니즘으로, 단순 요청과 프리플라이트 요청으로 구분된다. 세션은 HTTP의 무상태성(stateless)을 보완하기 위해 세션 ID를 쿠키에 저장하고 서버에서 사용자를 식별하는 방식으로 동작한다.
핵심 포인트
- 오리진은 "스킴 + 호스트 + 포트" 3요소로 구성되며, 서브도메인이 달라도 다른 오리진으로 취급됨
- 동일 오리진 정책은 브라우저의 제약으로, curl이나 서버사이드 코드에서는 적용되지 않음
- CORS는 단순 요청(Simple Request)과 프리플라이트(Preflight) 요청으로 나뉘며, OPTIONS 메서드로 사전 확인을 수행
- 세션 ID 방식은 서버에 상태를 저장하고 쿠키에 세션 ID를 담아 사용자를 식별하는 구조
향후 전망
- 웹 보안 취약점을 방지하기 위해 개발자들의 오리진·CORS·세션에 대한 정확한 이해가 더욱 중요해질 전망
- 브라우저 보안 정책이 강화됨에 따라 CORS 설정의 세밀한 관리가 필수 요소로 자리잡을 것
