HTTPQUERY
한국어

Allow

사용법

서버는 리소스가 어떤 요청 메서드를 지원하는지 알리기 위해 Allow를 포함시킵니다. 이 헤더는 405 Method Not Allowed 응답에서 필수이며, 서버는 이를 통해 요청된 URI에 유효한 메서드를 클라이언트에 알립니다.

이 헤더는 OPTIONS 요청에 대한 응답에도 나타납니다. OPTIONS 요청은 서버에 리소스에서 사용 가능한 통신 옵션을 설명해 달라고 요청하며, Allow는 응답에서 허용된 메서드 목록을 제공합니다.

값은 쉼표로 구분된 표준 HTTP 메서드 이름 목록입니다. 이 목록은 응답 시점에 해당 리소스가 받아들이는 메서드를 반영합니다. 비어 있는 Allow 헤더는 현재 어떤 메서드도 받아들이지 않음을 뜻하며, 서버가 리소스 접근을 일시적으로 제한할 때 발생합니다.

Allow 헤더는 서버 전체가 아니라 대상 리소스를 설명합니다. 같은 서버의 서로 다른 리소스가 각기 다른 메서드 집합을 지원하는 경우가 많습니다. 컬렉션 엔드포인트는 GET과 POST를 받아들이고, 개별 리소스는 GET, PUT, DELETE를 지원할 수 있습니다.

method-list

쉼표로 구분된 HTTP 메서드 이름 목록입니다. 흔한 값은 다음과 같습니다.

Allow: GET, HEAD, POST

예시

클라이언트가 GET과 POST만 지원하는 리소스에 DELETE 요청을 보냅니다. 서버는 405로 응답하며 유효한 메서드를 나열한 Allow 헤더를 포함시킵니다.

HTTP/1.1 405 Method Not Allowed
Allow: GET, POST
Content-Type: application/json

OPTIONS 요청에 대한 응답은 리소스가 받아들이는 모든 메서드를 보여 줍니다. GET이 지원되면 HEAD 메서드는 암묵적으로 사용할 수 있습니다.

HTTP/1.1 200 OK
Allow: GET, HEAD, PUT, DELETE
Content-Length: 0

POST 이후의 201 Created 응답은 새로 생성된 리소스에서 사용할 수 있는 메서드를 알리기 위해 Allow를 포함합니다.

HTTP/1.1 201 Created
Location: /items/42
Allow: GET, PUT, DELETE