AllowAllow는 특정 리소스가 지원하는 HTTP 메서드 목록을 알려주는 응답 헤더입니다. 클라이언트가 그 리소스에 어떤 동작(GET·POST·DELETE 등)을 할 수 있는지 파악하게 해줍니다.
값은 지원 메서드를 콤마로 나열한 형태입니다.
가장 중요한 용도는 405 Method Not Allowed 응답입니다. 스펙상 405 응답에는 반드시 Allow 헤더를 포함해, 클라이언트에게 이 리소스가 실제로 허용하는 메서드가 무엇인지 알려줘야 합니다. 예를 들어 읽기 전용 리소스에 DELETE를 보내면 405 + Allow: GET, HEAD, OPTIONS로 응답합니다.
OPTIONS 요청의 응답에도 Allow를 실어, 클라이언트가 사전에 지원 메서드를 조회하게 합니다. 값이 빈 문자열(Allow:)이면 해당 리소스가 어떤 메서드도 지원하지 않음을 뜻합니다.
Allow는 같은 오리진에서의 메서드 지원을 나타내는 반면, CORS의 Access-Control-Allow-Methods는 교차 오리진 프리플라이트에서 허용되는 메서드를 뜻합니다. 이름이 비슷하지만 목적과 맥락이 다릅니다.
Allow: <method>[, <method>]*e.g. Allow: GET, HEAD, POST, OPTIONS