나의 독학은

4장 - 결과를 전달하는 HTTP 상태 코드 본문

학습/그림으로 배우는 Http & Network Basic

4장 - 결과를 전달하는 HTTP 상태 코드

안종혁 2023. 9. 7. 11:57

4. 상태 코드는 서버로부터 요청 결과를 전달한다.

*상태 코드 : 클라이언트의 요청이 서버에서 어떻게 처리가 되었는지 서버가 클라이언트에게 알려주는 것

 

✅상태 코드 클래스

  클래스 설명
1xx Informational 요청을 받아들여 처리중
2xx Success 요청을 정상적으로 처리
3xx Redirection 요청을 완료하기 위해 추가 동작이 필요
4xx Cilent Error 서버는 요청을 이해 하지 못함
5xx Server Error 서버는 요청 처리 실패

✅2xx 성공(Success)

- 200 OK: 서버가 요청을 정상 처리했다.

- 204 No Content : 서버가 요청을 처리했지만 엔티티 바디(리소스)를 되돌려 주지 않는다.

- 206 Partial Content : 서버가 범위가 지정된 요청에 따라 일정 부분만 돌려줌

 

 

✅3xx 리다이렉트(Redirection)

- 301 Moved Permanently : 요청한 리소스에는 새로운 URI가 부여되어 있어 이후로는 새 URI를 사용할 것을 얘기해줌

- 302 Found : 301과 의미는 비슷하나, 301은 URI가 영구적으로 이동한 것, 302는 URI가 다시 이동할 수 있는 일시적 이동.

- 303 See Other : 302와 같지만, URI를 GET메소드로 얻어야 한다고 명시함. 302보다는 303을 사용하는 것이 바람직하다.

- 304 Not Modified : 클라이언트가 조건부 요청을 했을 때 리소스에 대한 접근은 허락하지만, 조건이 충족되지 않을 때 표시, 304는 3xx이지만 리다이렉트와는 관계가 없다.

 

*301, 302, 303 상태 코드가 되돌아 오면, 대부분 브라우저에서 POST를 GET으로 바꾸고 요청의 엔티티 바디를 삭제하고 요청을 자동으로 재송신하도록 되어 있다.

 

✅4xx 클라이언트 에러(Client Error)

- 400 Bad Request : 요청 구문이 잘못되어있음을 나타냄

- 401 Unauthorized : 요청에 HTTP 인증 정보가 필요함을 나타냄

- 403 Forbidden : 서버가 리소스의 접근을 거부했을 때이다. 이 때, 서버는 거부의 이유를 엔티티 바디에 기재해줘야 한다.

- 404 Not Found : 요청한 리소스가 서버상에 없을 때 나타냄

 

✅5xx 서버 에러(Server Error)

- 500 Internal Server Error : 서버에서 요청을 처리하는 도중에 에러가 발생할 때 나타냄

- 503 Service Unavaliable : 서버가 과부하 상태거나 점검 중이어서 요청을 처리할 수 없을 때 나타냄

 

*상태 코드의 대부분은 유저가 다른 내용을 알기 어렵게 되어 있어서 에러가 발생한 경우에도 [200 OK]로 되돌아오는 경우가 있다.

 

 

그림으로 배우는 Http & Network Basic

출처 : 그림으로 배우는 Http & Network Basic