OriginOrigin은 요청을 시작한 출처(오리진: 스킴+호스트+포트)를 서버에 알리는 요청 헤더입니다. Referer와 달리 경로·쿼리를 포함하지 않아 프라이버시에 유리하며, CORS와 CSRF 검증의 핵심입니다.
브라우저는 교차 출처(cross-origin) 요청과 모든 상태 변경 요청(POST 등)에 Origin을 자동으로 붙입니다. CORS에서 서버는 이 값을 보고 응답에 `Access-Control-Allow-Origin`을 돌려줄지 결정합니다. 프리플라이트(OPTIONS) 단계에서도 Origin이 허용 목록에 있는지 검사합니다.
값은 `https://app.example.com`처럼 오리진만 담고 경로는 없습니다. 프라이버시·보안을 위해 값이 `null`로 전송되는 경우도 있습니다(예: `file://`에서 열린 문서, sandbox iframe, 리다이렉트 후). 서버가 `Access-Control-Allow-Origin: null`을 신뢰하면 공격에 악용될 수 있어 위험합니다.
CSRF 방어에서 Origin은 Referer보다 신뢰할 만한 신호입니다. 상태 변경 요청에서 Origin이 자기 사이트와 일치하는지 확인하면, 경로가 노출되지 않으면서도 교차 출처 위조를 상당히 걸러낼 수 있습니다. 최신 브라우저는 `Sec-Fetch-Site` 같은 Fetch Metadata 헤더로 이를 보강합니다.
Origin: <scheme>://<host>[:<port>] | nulle.g. Origin: https://app.example.com