Access-Control-Allow-Methods
응답 헤더 CORS

개요

Access-Control-Allow-Methods는 CORS 프리플라이트(OPTIONS) 응답에서, 교차 오리진 요청이 실제로 사용할 수 있는 HTTP 메서드 목록을 브라우저에 알리는 헤더입니다. 여기 없는 메서드로 실제 요청을 보내면 브라우저가 차단합니다.

값은 허용 메서드를 콤마로 나열하며, 비자격증명 요청에 한해 와일드카드 *도 쓸 수 있습니다.

자세히

GET·HEAD·POST 이외의 메서드(PUT·DELETE·PATCH 등)나 특정 조건을 만족하는 요청은 브라우저가 먼저 프리플라이트 OPTIONS를 보내 서버 허가를 확인합니다. 프리플라이트에는 Access-Control-Request-Method 헤더로 앞으로 쓸 메서드를 미리 알리고, 서버는 Access-Control-Allow-Methods로 허용 여부를 답합니다.

이 헤더는 실제 응답이 아니라 프리플라이트(OPTIONS) 응답에 붙습니다. 브라우저는 프리플라이트 결과를 Access-Control-Max-Age만큼 캐시해, 이후 같은 종류의 요청에는 프리플라이트를 생략합니다.

*는 모든 메서드를 허용하지만 credentials 모드(쿠키 포함)에서는 무효이며, 이 경우 메서드를 명시적으로 나열해야 합니다.

문법

Access-Control-Allow-Methods: <method>[, <method>]* | *

e.g. Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS

실무 참고

관련 헤더

관련 상태코드

스펙 근거