인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다.😊😊
1. 4XX (Client Error) - 클라이언트 오류
- 클라이언트의 요청에 잘못된 문법등으로 서버가 요청을 수행할 수 없음
- 오류의 원인이 클라이언트에 있음
- ⭐⭐ 클라이언트가 이미 잘못된 요청, 데이터를 보내고 있기 때문에, 똑같은 재시도가 실패함
👉 400 Bad Request
클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음
- 요청 구문, 메시지 등등 오류
- 클라이언트는 요청 내용을 다시 검토하고, 보내야함
ex) 요청 파라미터가 잘못되거나, API 스펙이 맞지 않을 때
👉 401 Unauthorized
클라이언트가 해당 리소스에 대한 인증이 필요함
- 인증(Authentication) 되지 않음
- 401 오류 발생시 응답에 WWW-Authenticate 헤더와 함께 인증 방법을 설명
- 참고
• 인증(Authentication): 본인이 누구인지 확인, (로그인)
• 인가(Authorization): 권한부여 (ADMIN 권한처럼 특정 리소스에 접근할 수 있는 권한, 인증이 있어야 인가가 있음)
• 오류 메시지가 Unauthorized 이지만 인증 되지 않음 (이름이 아쉬움)
👉 403 Forbidden
서버가 요청을 이해했지만 승인을 거부함
- 주로 인증 자격 증명은 있지만, 접근 권한이 불충분한 경우
ex) 어드민 등급이 아닌 사용자가 로그인은 했지만, 어드민 등급의 리소스에 접근하는 경우
👉 404 Not Found
요청 리소스를 찾을 수 없음
- 요청 리소스가 서버에 없음
- 클라이언트가 권한이 부족한 리소스에 접근할 때 해당 리소스를 숨기고 싶을 때
2. 5XX (Server Error) - 서버 오류
- 서버 문제로 오류 발생
- 서버에 문제가 있기 때문에 재시도 하면 성공할 수도 있음(복구가 되거나 등등)
👉 500 Internal Server Error
서버 문제로 오류 발생, 애매하면 500 오류
- 서버 내부 문제로 오류 발생
- 애매하면 500 오류
👉 503 Service Unavailable
서비스 이용 불가
- 서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리할 수 없음
- Retry-After 헤더 필드로 얼마뒤에 복구되는지 보낼 수도 있음
❓ 질문 정리 ❗
Q. 구글에서 검색해서 나온 페이지를 클릭해 들어가면 404 Not Found가 뜨는 경우는 리소스가 있는데 리소스를 숨기는 건가요?
이 경우는 대부분 검색 엔진이 크롤링 하는 단계에서는 리소스가 있었는데, 이후 리소스가 사라져 404 Not Found가 뜨는 것이다.
'📚 Computer Science > Network' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 기본 지식] 7. HTTP 헤더1 (일반 헤더) - 콘텐츠 협상 (0) | 2023.08.16 |
---|---|
[모든 개발자를 위한 HTTP 웹 기본 지식] 7. HTTP 헤더1 (일반 헤더) - HTTP 헤더 개요, 표현 (0) | 2023.08.16 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 6. HTTP 상태코드 - 3XX 리다이렉션 (0) | 2023.08.14 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 6. HTTP 상태코드 - HTTP 상태 코드 소개, 2XX 성공 (0) | 2023.08.14 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 5. HTTP 메서드 활용 - HTTP API 설계 예시 (0) | 2023.08.14 |