웹 개발자라면 반드시 알아야 할 HTTP Status

HTTP Status

2019-01-27

HTTP

HTTP 상태값에 대해서 알아보기 전에 간략하게 HTTP에 대해 알아보겠습니다.

HTTP는 네트워크 상에서 컴퓨터(클라이언트/서버)와 컴퓨터(서버/클라이언트)간에 TCP/IP를 이용해 데이터를 주고받는 프로토콜로 FTP, Telnet과는 다르게 연결 상태를 유지하지 않는다는 특징을 가지고 있습니다. 클라이언트의 요청으로 서버에 리퀘스트를 날리고 서버에서 이에대한 응답을 전송하면 연결을 종료합니다.

이러한 특성으로 인해 HTTP로 상태를 유지(확인)하기 위한 방법으로는 Cookie, Session을 활용하는 방법이 있습니다. 클라이언트에서 리퀘스트를 날릴때 setCookie로 쿠키를 요청하면 리스폰스에서 해당요청에 대한 SessionID를 쿠키에 구워보내줍니다. 다음번 리퀘스트에서는 getCookie로 해당 SessionID를 서버에 보내고 이를 통해서 상태를 유지하는 방법이 있습니다.

HTTPS를 사용하지 않을경우 공격자에 의해 해당 정보가 유출될 수 있으므로 중요한 정보는 HTTPS를 사용하는게 좋습니다.

HTTP Status

  • 200 성공
  • 3xx 리다이렉트
  • 4xx 클라이언트 리퀘스트 에러
    400 bad 리퀘스트로 리퀘스트 구문에러 리퀘스트구문 재 확인
    401 인증필요
    403 파일 퍼미션이나 액세스 권한
    404 not found
  • 5xx 서버에러
    500 리퀘스트 처리 도중 에러, 일시적일 수 도 있음
    503 서버 과부하, 점검등 이유로 리퀘스트 처리할 수 없는 상태

200이 떨어지더라도 원하는 데이터를 받지 못할 경우도 있습니다.
http status 를 활용할지 리스폰스 데이터에 구분할 상태값을 포함하여 처리할지는 프론트, 백엔드 개발자간 커뮤니케이션을 통하여 정의해야 합니다.