< 서버 통신의 상태를 알려줘~>

강민수·2021년 12월 12일
0

백엔드

목록 보기
9/21

자~ 당신이 인터넷을 하다 보면 이런 그림 한 번 쯤은 꼭 보게 되어있다.

오늘 이야기 하고자 하는 주제 역시 이 스테이터스와 관련 되어 있다. 이런 에러 메시지를 알려주는 것이 바로 웹의 통신 상태를 알려주는 스테이터스 코드라고 한다.

01. 스테이터스 코드의 정의

앞서 언급했지만, 스테이터스 코드는 우리가 api를 사용하는 웹에서 네트워크 통신 상태에 따라 사용자 혹은 개발자에게 해당 페이지의 상태를 알려주는 것이다. 따라서 일반 사용자의 경우 404 에러 코드를 가장 전면에서 많이 보게 되겠지만, 개발자는 웹의 유지 보수적인 측면에서 다양한 스테이터스 코드를 보고 해당부분을 해석할 줄 알아야 한다.

그래서 보통 개발자 도구를 통해 네트워크 창을 열어보면 다음과 같은 화면을 볼 수 있다.

자 여기서 다른 것보다 봐야할 부분이 저기 초록색의 200 ok와 빨간색의 404 not found 다. 딱 봐도 알 수 있듯이, 위의 상황은 서버와 통신의 상태가 잘 연결되는 화면이고, 아래는 서버와 통신이 잘 안 된 경우다.

그러면 우리가 주로 만나게 된 스테이터스 코드와 각각의 코드의 상황에 대해 좀 더 알아보자.

02. 코드별 의미와 상황

100번대: 데이터의 처리중인 상태
100: 데이터의 일부를 서버가 받은 상태
200번대: 정상적인 응답
200: 에러 없이 정상처리
204: 정상처리 되었으나 서버에서 보내줄 데이터 없음
300번대: 다른 URL 처리
301: 요청된 페이지가 새 URL로 변경되었음
304: 이미 기존의 데이터와 변경된 것이 없음
400번대: 서버에서 인식할 수 없음
400: 전송된 Request에 문제가 있어서 서버에가 인식할 수 없음
403: 서버에서 허락되지 않음
404: URL에 해당하는 자원을 찾을 수 없음
406: 전송 방식이 허락되지 않음 (REST에서 자주 발생)
가장 많이 보는 404

500번대: 서버 내부의 문제
500: 서버에서 처리 시 문제가 발생
502: 게이트웨이나ㅐ 프록시 상태의 문제(과부하 등)
503: 일시적인 과부하나 서비스 중단 상태
504: 지정된 처리시간이 지나서 처리되지 못함


이처럼 에러마다 모든 유형과 상황에 따라 이렇게 스테이터스 코드가 전부 다르다. 물론 이 중에서도 주로 빈번한 것은 200 번대 아니면 400번이겠지만, 그래도 우리는 개발 중에 어떤 코드를 마주할 지 모르기 때문에... 한 번 쯤은 알고 넘어가야 할 코드들이다. 한 번쯤은 보고 만났을 때 구글링을 통해 해결 책을 찾아보면 좋을 것 같다.

----------------to be continued--------------------------------

profile
개발도 예능처럼 재미지게~

0개의 댓글