Spring/에러

HTTP상태코드

jungmin.park 2023. 12. 5. 15:22

HTTP(HyperText Transfer Protocol)

  • 웹 서버와 웹 클라이언트 사이에서 데이터를 주고받기 위해 사용하는 통신 방식으로 TCP/IP 프로토콜 위에서 동작
  • HTML이나 XML과 같은 하이퍼텍스트뿐 아니라 이미지, 음성, 동영상, Javascript, PDF와 각종 문서 파일 등 컴퓨터에서 다룰 수 있는 데이터라면 무엇이든 전송할 수 있다.

  • 웹 브라우저 주소창에 https://www.naver.com을 입력하고 Enter를 누르면 웹 클라이언트와 웹 서버 사이에 HTTP 연결이 맺어지고 웹 클라이언트는 웹 서버에 HTTP 요청 메세지를 보낸다.
  • 웹 서버는 요청에 따른 처리를 진행한 후에 그 결과를 웹 클라이언트에 HTTP 응답 메시지로 보낸다.
  • 요청 메시지와 응답 메세지가 반복적으로 오가므로 웹을 사용할 수 있는 것이다.

서버에서 처리 결과는 응답 메세지의 상태 라인에 있는 상태 코드(status code)를 보고 파악할 수 있다.

 

상태코드 상태 텍스트/한국어 서버 측면에서의 의미
1XX Informational(정보 제공) 임시 응답으로 현재 클라이언트의 요청까지는 처리되었으니 계속 진행하라는 의미
HTTP 1.1 버전부터 추가되었다.
2XX Success(성공) 클라이언트의 요청이 서버에서 성공적으로 처리되었다는 의미
3XX Redirection(리다이렉션) 완전한 처리를 위해서 추가 동작이 필요한 경우이다.
주로 서버의 주소 또는 요청한 URI의 웹 문서가 이동되었으니 그 주소로 다시 시도하라는 의미
4XX Client Error(클라이언트 에러) 없는 페이지를 요청하는 등 클라이언트의 요청 메시지 내용이 잘못된 경우를 의미한다.
5XX Server Error(서버 에러) 서버 사정으로 메시지 처리에 문제가 발생한 경우
서버의 부하, DB 처리 과정 오류, 서버에서 익셉션이 발생한 경우를 의미

 


2XX: Success(성공)

상태 코드 상태 텍스트 한국어 뜻 서버 측면에서 의미
200 OK 성공 서버가 요청을 성공적으로 처리하였다.
201 Created 생성됨 요청이 처리되어서 새로운 리소스가 생성되었다.
202 Accepted 허용됨 요청은 접수하였지만, 처리가 완료되지 않았다.

 


4XX: Client Error(클라이언트 에러)

상태 코드 상태 텍스트 한국어 뜻 서버 측면에서 의미
400 Bad Request 잘못된 요청 요청의 구문이 잘못되었다.
401 Unauthorized 권한 없음 지정한 리소스에 대한 액세스 권한이 없다.
403 Forbidden 금지됨 지정한 리소스에 대한 액세스가 금지되었다.
404 Not Found 금지됨 지정한 리소스를 찾을 수 없다.

5XX: Server Error(서버 에러)

상태 코드 상태 텍스트 한국어 뜻 서버 측면에서 의미
500 Internal Server Error 내부 서버 오류 서버에 에러가 발생하였다.
501 Not Implemented 구현되지 않음 요청한 URI의 메소드에 대해 서버가 구현하고 있지 않다.
502 Bad Gateway 불량 게이트웨이 게이트웨이 또는 프록시 역할을 하는 서버가 그 뒷단의 서버로부터 잘못된 응답을 받았다.