405 Method Not Allowed는 서버가 요청 메서드를 알고 있지만 대상 리소스가 그 메서드를 지원하지 않는다는 뜻입니다. 응답에는 Allow: GET, HEAD, OPTIONS처럼 리소스가 지원하는 메서드를 나열한 Allow 헤더가 반드시 포함되어야 합니다.
정적 파일에 대한 POST, 읽기 전용 API 리소스에 대한 DELETE, 폼 전송만 받는 엔드포인트에 대한 GET이 대표적인 경우입니다. 서버가 메서드 자체를 인식하지 못한다면 대신 501 Not Implemented로 응답하는 것이 맞습니다.
405는 기본적으로 캐시할 수 있습니다.
응답 예시
HTTP
HTTP/1.1 405 Method Not Allowed
Date: Fri, 06 Nov 2026 10:15:32 GMT
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Content-Length: 30
{"error":"method_not_allowed"} SEO 및 리디렉션 검사
일반 GET 요청에 대한 405는 4xx 오류이므로 색인을 막습니다. 하지만 문제는 다른 메서드에서 드러나는 경우가 더 많습니다. 일부 서버와 프레임워크는 HEAD에 405로 응답하는데, 이는 대역폭을 아끼려고 HEAD를 사용하는 링크 검사기와 모니터링 도구를 혼란스럽게 합니다. 메서드를 HEAD로 설정한 검사에서는 405가, GET에서는 200이 나온다면, HTTP가 범용 서버에 이 메서드의 지원을 요구하는데도 서버가 HEAD를 제대로 처리하지 못하는 것입니다.
주요 원인과 사용 사례
- 폼이나 API 클라이언트가 정적 콘텐츠만 제공하는 URL로 POST 요청을 보냅니다. nginx는 이런 요청에 “405 Not Allowed”로 응답합니다.
- 프레임워크 라우트에
GET만 정의되어 있어HEAD,POST,PUT이 거부됩니다. - 리디렉션이 메서드를 유지했습니다. 307이나 308 다음에는
POST가POST로 유지되므로,GET만 받는 페이지에 도착할 수 있습니다. - 서버 설정에서 WebDAV나 다른 메서드가 비활성화되어 있습니다.