WIPIVERSE

ERROR 405

정의
ERROR 405는 HTTP 상태 코드 중 하나로, "Method Not Allowed"를 의미한다. 클라이언트가 요청한 메서드(예: GET, POST, PUT, DELETE 등)가 해당 URL에서 지원되지 않을 때 서버가 반환한다.

표준 근거

  • 정의: RFC 7231 (HTTP/1.1 Semantics and Content) 제6.5.5절
  • 상태 코드 범위: 4xx(클라이언트 오류)군에 속한다.

발생 원인

  1. 클라이언트가 서버가 허용하지 않는 HTTP 메서드로 요청을 보낸 경우.
  2. API 엔드포인트가 특정 메서드만 허용하도록 설계되었지만 다른 메서드가 호출된 경우.
  3. 웹 서버나 프록시 설정에서 메서드 제한이 적용된 경우.

응답 구조

  • Status-Line: HTTP/1.1 405 Method Not Allowed
  • 헤더: Allow 헤더에 해당 리소스가 지원하는 메서드 목록이 포함될 수 있다. 예: Allow: GET, POST
  • 본문(선택): 오류 설명이나 대체 요청 방법에 대한 정보가 포함될 수 있다.

대처 방안

  • 클라이언트 측에서 요청 메서드가 올바른지 확인한다.
  • API 문서에서 허용된 메서드를 확인하고 일치하도록 수정한다.
  • 서버 측에서 Allow 헤더를 정확히 설정해 클라이언트가 가능한 메서드를 알 수 있게 한다.
  • 프레임워크나 서버 설정에서 메서드 제한 규칙을 검토한다.

관련 상태 코드

  • 400 Bad Request: 요청 구문이 잘못된 경우.
  • 403 Forbidden: 인증은 되었지만 접근 권한이 없을 때.
  • 404 Not Found: 요청한 리소스가 존재하지 않을 때.
  • 409 Conflict: 요청이 현재 서버 상태와 충돌할 때.

사용 사례

  • RESTful API에서 PUT /users/123 대신 POST /users/123을 호출했을 때.
  • 정적 파일 서버가 DELETE /image.png와 같은 메서드를 허용하지 않을 경우.

기술적 메모

  • 일부 웹 프레임워크(예: Django, Express, Spring)에서는 라우팅 설정에 따라 자동으로 405 응답을 생성한다.
  • CORS 사전 요청(preflight)에서 허용되지 않은 메서드가 포함되면 브라우저가 405 응답을 받게 된다.

요약
ERROR 405는 클라이언트가 지원되지 않는 HTTP 메서드로 요청했을 때 서버가 반환하는 표준 상태 코드이며, Allow 헤더를 통해 가능한 메서드 목록을 제공한다. 올바른 메서드 사용과 서버 설정 검토를 통해 예방 및 해결이 가능하다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기