본문 바로가기
프로그래밍 언어 & 데이터베이스/JavaScript

코드잇 학습일기 day5. 자바스크립트 Status Code와 Content-Type 헤더

by ♥︎해이나♥︎ 2023. 2. 13.
반응형

지난 포스팅에서는 Request(요청)에 대해서 알아보았다. 이번 포스팅에서는 Response(응답)에 대해서 정리해보려고 한다. Response의 구조도 Head, Body로 이루어져있는데, Head에는 Response에 대한 부가 정보가 담겨 있고, Body에는 실제 데이터(주로 JSON 데이터)가 담겨 있다.


Status Code란 무엇인가?

웹 브라우저의 개발자 도구 > Network 탭 > 특정 항목 선택 > General 부분에서 Status Code를 찾을 수 있다. Status Code는 우리말로 '상태 코드'라고 한다. 아래 이미지의 경우 Status Code: 200 이라고 되어있는데, 200은 정상 처리를 했다는 의미이다. 

 

Status Code

 

만약 정상 처리되지 못했다면 다른 숫자를 보게 된다. 대표적인 것이 해당 URL에 해당하는 데이터를 찾을 수 없다는 상태 코드인 404이다. 그 밖에도 100~500까지 다양한 상태코드들이 존재한다.

 

알아두면 좋은 상태 코드(Status Code)

모든 상태 코드에는 그에 대응되는 상태 메세지를 가지고 있다. 예를 들어, 정상 처리를 의미하는 200번은 OK, 데이터를 찾을 수 없다는 404번은 Not Found를 가지고 있다. 알아두면 좋은 상태코드 몇가지를 블로그에도 소개하려고 한다.

 

[100번대] 서버가 클라이언트에게 정보성 응답을 줄 대 사용하는 상태 코드

  • 100 - Continue
  • 101 - Switching Protocols

[200번대] 클라이언트의 리퀘스트가 성공 처리되었음을 의미하는 상태 코드

  • 200 - OK
  • 201 - Created
  • 202 - Accepted

[300번대] 클라이언트의 리퀘스트가 아직 처리되지 않았으며, 리퀘스트 처리를 원하면 클라이언트의 추가 작업이 필요함읠 의미하는 상태 코드

  • 301 - Moved Permanently
  • 302 - Found
  • 304 - Not Modified

[400번대] 리퀘스트를 보내는 클라이언트 쪽에 문제가 생김을 의미하는 상태 코드

  • 400 - Bad Request
  • 401 - Unauthorized
  • 403 - Forbidden
  • 404 - Not Found
  • 405 - Method Not Allowed
  • 413 - Payload Too Large
  • 429 - Too Many Requests

[500번대] 서버 쪽의 문제로 인해 리퀘스트를 정상적으로 처리할 수 없다는 의미의 상태 코드

  • 500 - Internal Server Error
  • 503 - Service Unavailable

 

 

Content-Type 헤더란 무엇인가?

현재 Request 또는 Response의 Body에 들어있는 데이터가 어떤 타입인지를 나타낸다. Content-Type 헤더의 값은 주 타입(main type)/서브 타입(sub type)으로 구성되는데, 우리가 흔히 볼 수 있는 헤더값은 아래와 같은 것들이 있다.

 

  • text/plain : 일반 텍스트
  • text/css : CSS 코드
  • text/html : HTML 코드
  • image/gif : GIF 이미지
  • image/png : PNG 이미지
  • audio/mp4 : MP4 오디오
  • video/H264 : H264 비디오

 

텍스트, 이미지, 오디오, 비디오 등의 타입에 속하지 않는 나머지 것들은 보통 application 이라고 하는 주 타입에 속한다.

 

  • application/json : JSON 데이터
  • application/octet-stream : 확인되지 않은 바이너리 파일
  • application/x-www-form-urlencoded : form 태그는 기본적으로 이 타입의 데이터를 바디에 담아서 보냄
  • multipart/form-data : 여러 종류의 데이터를 하나로 합친 데이터를 의미

요즘은 코드잇 챌린지 뱃지를 모으는 재미에 빠져 있다. 1월에는 1달 1토픽 챌린지에 도전해서 성공했는데, 2월에는 일주일씩 끊어서 주간 챌린지에 도전하고 있다. 나는 아무래도 길게 가져가는 일정보다는 짧게 집중하고 보상을 받는 것이 좀 더 동기부여에 도움이 되는 것 같다.

 

코드잇 챌린지 배지 모으는 중

 

그럼 오늘 수강 레슨 인증을 마지막으로 오늘의 학습일기 끝!

 

코드잇 오늘 수강 레슨 인증

반응형

댓글