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 | 불량 게이트웨이 | 게이트웨이 또는 프록시 역할을 하는 서버가 그 뒷단의 서버로부터 잘못된 응답을 받았다. |