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 오류는 인증이 필요하거나 실패한 경우에 발생한다.
참고 사이트
728x90
728x90
'Study > Network' 카테고리의 다른 글
[Network] API(Application Programming Interface) (0) | 2023.11.15 |
---|---|
[Network] 미들웨어(Middleware) (0) | 2023.11.09 |
[Network] HTTP 응답 상태 코드(Response Status Code) (0) | 2023.11.08 |
[Network] HTTP 요청(Request) 메서드의 종류 (0) | 2023.11.08 |