Access-Control-Request-Method
요청 헤더 CORS

개요

Access-Control-Request-Method는 브라우저가 CORS 프리플라이트(OPTIONS) 요청에 자동으로 실어, 이어질 실제 요청이 어떤 HTTP 메서드를 쓸지 서버에 미리 알리는 요청 헤더입니다. 서버는 이 값을 보고 해당 메서드를 허용할지 판단해 Access-Control-Allow-Methods로 응답합니다.

자세히

이 헤더는 브라우저가 관리하는 '금지된 헤더 이름(forbidden header name)'이라 애플리케이션 JavaScript로는 설정하거나 덮어쓸 수 없습니다. GET/HEAD/POST가 아닌 메서드(PUT·DELETE·PATCH 등)나 커스텀 헤더가 포함된 요청은 non-simple로 분류되어 프리플라이트가 발생하고, 그때 브라우저가 이 헤더를 넣습니다.

서버는 프리플라이트 응답에서 Access-Control-Request-Method 값이 허용 메서드 집합에 있으면 Access-Control-Allow-Methods에 그 메서드(또는 *)를 담아 승인합니다. 승인되지 않으면 브라우저가 실제 요청을 아예 보내지 않고 CORS 오류로 실패시킵니다.

프리플라이트에는 보통 본문이 없고, 서버는 204 No Content 또는 200으로 짧게 응답하는 것이 관례입니다. 이 헤더는 오직 프리플라이트에만 나타나며 실제 요청에는 실리지 않습니다.

문법

Access-Control-Request-Method: <method>

e.g. Access-Control-Request-Method: DELETE

실무 참고

관련 헤더

관련 상태코드

스펙 근거