HTTP 웹 기본지식 - HTTP 상태코드 (2)
※ 해당 내용은 '모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한' 강의를 듣고 정리한 내용 + 개인이 더 찾아본 정보입니다.
1xx: 요청 처리중
2xx: 요청 정상 처리
3xx: 요청을 완료하려면 추가 행동이 필요 (Location으로 이동)
4xx: 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음
5xx: 서버 오류, 서버가 정상 요청을 처리하지 못함
4. 4xx (클라이언트 오류)
- 클라이언트의 요청이 잘못되어 서버가 요청을 수행할 수 없음.
- 오류의 원인이 '클라이언트'에게 있음
- 똑같은 재시도가 실패함 -> 요청 자체가 잘못됐기 때문!
1) 400 Bad Request: 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음
ex) 요청파라미터가 잘못됐거나, 요청의 API 스펙이 맞지 않을 때
2) 401 Unauthorized: 클라이언트가 해당 리소스에 대한 인증이 필요함.
- 응답에 WWW-Authenticate 헤더와 함께 인증방법 설명
ex) 로그인이 안 됐을 때
※ 인증 (Authentication): 로그인 확인 (본인이 누구인지 확인)
인가 (Authorization): 권한 확인 (특정 리소스에 접근할 수 있는 권한 - 인증 다음 단계) - admin 같은
=> 이름이 Unauthorized지만 인증으로 사용 중
3) 403 Forbidden: 서버가 요청을 이해했지만 승인을 거부함
- 인증 자격은 있지만, 접근권한이 불충분한 경우
ex) 로그인은 했지만, 관리자가 아닌 사용자가 관리자 권한이 필요한 리소스 접근 시
4) 404 Not Found: 요청 리소스를 찾을 수 없음
- 요청 리소스가 서버에 없음
- 권한이 부족한 클라이언트가 리소스에 접근할 때, 해당 리소스를 숨기고 싶을 때도 사용 가능
5. 5xx (서버 오류)
- 서버 문제로 오류 발생
- 재시도하면 성공할 수도 있음 (ex- 복구가 된다면?)
1) 500 Internal Server Error: 서버 문제로 오류 발생
- 서버 내부 오류인데, 애매하면 500 오류
2) 503 Service Unavailable: 서비스 이용불가
- 서버가 일시적인 과부하 or 예정된 작업으로 잠시 요청을 처리할 수 없을 때
- 주로 긴급점검같은 걸 진행할 때..
기타 502 Bad Gateway, 504 Gateway Time-out 등이 있음..
'웹 > http' 카테고리의 다른 글
HTTP 웹 기본지식 - HTTP 헤더_일반헤더(2) (0) | 2022.04.28 |
---|---|
HTTP 웹 기본지식 - HTTP 헤더_일반헤더(1) (0) | 2022.04.17 |
HTTP 웹 기본지식 - HTTP 상태코드 (1) (0) | 2022.04.06 |
HTTP 웹 기본지식 - HTTP API 설계 예시 (0) | 2022.03.13 |
HTTP 웹 기본지식 - 클라이언트에서 서버로 데이터 전송 (0) | 2022.03.09 |