[Backend] HTTP는 무엇일까?

Updated:

📡 HTTP

TCP/IP 를 이용하여 인터넷에서 데이터 (하이퍼 텍스트 문서) 를 주고 받기 위한 약속이라고 할 수 있다.

모든 웹 브라우저가 이 약속을 지키기 때문에 데이터를 주고 받는데 문제가 없다.

FTP, SMTP 같이 파일, 메일을 주고 받기 위한 프로토콜도 있다.

📌 TCP/IP

링크 를 보면 데이터는 패킷의 형태로 전송된다.

패킷 통신 방식의 인터넷 프로토콜인 IP 는 이 패킷을 전달 할 때 전달 여부를 보증하지 않고 보낸 순서와 받는 순서가 다를 수 있다.

TCP 는 IP 위에서 동작하는 프로토콜로 패킷 전달을 보증하고 보낸 순서대로 받을 수 있다.

TCP 의 반대 개념으로 UDP 가 있는데 그건 나중에 정리해야겠다.

📎 HTTP 요청 응답

HTTP 는 연결상태를 유지하지 않기 때문에 요청, 응답 방식으로 통신을 한다.

클라이언트가 서버에 데이터를 달라고 요청을 하면 서버가 그 요청에 대한 응답을 해준다.

요청의 종류에는 아래와 같이 네 가지가 있다.

  • GET : 자료 요청
  • POST : 자료 생성
  • PUT : 자료 수정
  • DELETE : 자료 삭제

서버는 클라이언트에게 요청을 받으면 응답을 하는데 응답을 코드로 알려준다.

  • 100 번대 코드 : 정보전달

  • 200 번대 코드 : 성공응답

  • 300 번대 코드 : Redirection, Request 완료를 위해 추가 동작이 필요

  • 400 번대 코드 : 클라이언트의 에러

  • 500 번대 코드 : 서버의 에러

대표적인 예로 잘못된 URL 로 접속을 하는 경우 클라이언트의 요청이 잘못 되었기 때문에 404 에러가 뜬다!

이런 요청과 응답 과정을 보고 싶다면 크롬 개발자 모드로 확인해보자.

쿠키는 브라우저에서 서버로 요청이 있을때 도메인 단위로 발급하는 텍스트 파일이다.

한 번 저장을 하면 삭제 되거나 만료되기 전 까지 같은 서버에 요청을 하는 경우 쿠키를 준다.

약간 캐시 메모리 같은 느낌으로 생각하면 될 것 같다..

쿠키는 어떤 상태를 기억해야 하는 경우 사용하면 좋다.

예를 들어 쇼핑몰 사이트에서 쇼핑을 하다가 브라우저를 껐다 켜도 최근 본 상품이 남아있다.

장바구니에 물건을 담고 난 뒤 브라우저를 껐다 켜도 물건이 그대로 남아있다 !

또 매번 로그인 할 필요 없이 한 번 로그인 한 뒤 계속 로그인 된 상태로 사이트에 접속 할 수 도 있다.

어떤 카테고리를 검색하면 광고도 그 카테고리 위주로 나오는 경우가 있다.

이것도 검색엔진이 그 쿠키를 보고 관련 광고를 보여주는 것 이다.

📕 참조


Categories:

Updated:

Leave a comment