728x90
728x90

400 오류와 401 오류의 차이점

들어가며

  • HTTP 상태 코드(Status Code)400 오류 401 오류의 차이점에 대해 정리해본다.

 

400 오류 (Bad Request, 잘못된 요청)

개념

  • 클라이언트가 보낸 요청이 잘못되었거나 서버에서 이해할 수 없을 때 반환되는 상태 코드

 

발생 원인

  • 요청 형식이 잘못된 경우 (JSON이나 XML 등의 데이터 포맷 오류)
  • 요청 파라미터가 누락되었거나 유효하지 않은 경우
  • 잘못된 URL이나 메서드 사용
    • 예를 들어, @GET@ 대신 @POST@를 사용한 경우
  • 클라이언트 쪽 오류로 인해 요청이 비정상적으로 구성된 경우

 

해결 방법

  • 요청 데이터를 검토하고 형식이 올바른지 확인한다.
  • API 문서를 참고해 필요한 파라미터와 값이 제대로 전달되었는지 확인한다.
  • URL이나 HTTP 메서드를 확인한다.

 

400 오류의 경우, 프론트엔드에서 수정하여 문제를 해결할 수 있다.

 

401 오류 (Unauthorized, 인증 실패)

개념

  • 클라이언트가 인증되지 않았거나, 인증 정보가 올바르지 않을 때 반환되는 상태 코드

 

발생 원인

  • 인증 헤더(Authorization)가 누락된 경우
const response = await customFetch.patch('/auth/updateUser', user, {
    headers: {
      authorization: `Bearer `,   // 인증 헤더
    },
});
  • 토큰 또는 API 키가 유효하지 않은 경우
  • 세션이 만료된 경우
  • 권한이 필요한 리소스에 인증 없이 접근하려는 경우

 

해결 방법

  • 올바른 인증 정보를 제공했는지 확인한다.
  • 액세스 토큰(Access Token)이 만료되었는지 확인하고, 만료 시 갱신한다. (Refresh Token)
  • API 서버의 인증 요구 사항을 충족하는지 확인한다.

 

정리

구분 400 Bad Request 401 Unauthorized
발생 원인 요청이 잘못 구성되었거나 서버에서 이해할 수 없음. 인증이 누락되었거나 유효하지 않음.
문제 위치 클라이언트 요청 자체에 문제 클라이언트의 인증 정보 부족 또는 오류
해결 방법 요청 데이터 수정 인증 정보를 제공하거나 갱신
HTTP 표준 클라이언트 요청의 구문 또는 데이터 오류 인증 실패 및 권한 부여 필요

 

400 오류요청 자체가 잘못된 경우, 401 오류인증이 필요하거나 실패한 경우에 발생한다.

 

참고 사이트

 

What’s the difference between a 400, 401, and 404 error?

Answer (1 of 25): They are the error code or HTTP status codes, returned by a web server when it is aware that an error has occurred or is otherwise not able to process the request. It is issued by a server in response to the client’s response. All the t

www.quora.com

 

HTTP response status codes - HTTP | MDN

HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes:

developer.mozilla.org

 

728x90
728x90