Computer Science/Network
HTTP 상태 코드
시나민
2023. 3. 30. 21:31
HTTP 상태 코드
HTTP 상태 코드란 클라이언트가 요청을 보냈을 때 서버에서 보내주는 응답 상태를 의미한다.
우리가 잘 알고있는 404 Not Found 오류등이 있다.
1XX 코드 (Informational)
서버가 요청을 받았고, 작업이 진행 중 이라는 의미이다.
2XX 코드 (Successful)
서버가 요청을 성공적으로 받았고, 정상적으로 처리했다는 의미이다.
- 200 OK -> 요청 성공
- 201 Created -> 요청이 성공하여 새로운 리소스가 생성됨
- 202 Acceptec -> 요청이 접수되었으나 처리가 완료되지 않음
- 204 No Content -> 서버가 요청을 정상적으로 처리했으나, 컨텐츠를 제공하지 않음
3XX 코드 (Redirection)
요청을 완료하기 위해서는 추가적인 행동이 필요하다는 의미이다.
세 가지 리다이렉션으로 나뉜다.
- 영구 리다이렉션
- 일시 리다이렉션
- 특수 리다이렉션
영구 리다이렉션
특정 리소스의 URI가 영구적으로 이동했다는 의미이다.
- 301 Moved Permanently -> 리다이렉트시 요청 메서드가 GET으로 변하고, 요청한 본문이 제거될 수 있음
- 308 Permanent Redirect -> 리다이렉트시 요청 메서드와 요청한 본문 유지
일시 리다이렉션
특정 리소스의 URI가 일시적으로 이동했다는 의미이다.
- 302 Found -> 리다이렉트시 요청 메서드가 GET으로 변하고, 요청한 본문이 제거될 수 있음
- 303 See Other -> 리다이렉트 시 요청 메서드가 GET으로 변함
- 307 Temporary Redirect -> 리다이렉트시 요청 메서드와 요청한 본문 유지 (요청 메서드가 변경되면 안됨)
특수 리다이렉션
- 300 Multiple Choices -> 서버에서 여러 개의 응답이 있음을 알림 (사용되지 않음)
- 304 Not Modified -> 캐시 목적으로 사용하며, 클라이언트는 로컬PC에 저장된 캐시를 재사용
4XX 코드 (Client Error)
클라이언트 오류 또는 잘못된 문법등으로 서버가 요청을 수행할 수 없음을 의미한다.
- 400 Bad Request -> 요청 구문, 메세지 등 오류
- 401 Unauthorized -> 클라이언트가 해당 리소스에 대한 인증이 필요함
- 403 Forbidden -> 서버가 요청을 이해했지만 승인을 거부 (주로 접근 권한 등에서 발생)
- 404 Not Found -> 요청 리소스를 찾을 수 없음
5XX 코드 (Server Error)
서버가 응답할 수 없다는 의미이다.
- 500 Internal Server Error -> 내부 서버 문제로 오류 발생
- 502 Bad Gateway -> 게이트웨이가 연결된 서버로부터 잘못된 응답 발생
- 503 Service Unavailable -> 서비스를 일시적으로 사용할 수 없음 (과부하 또는 점검으로 인한 서버다운 등)