[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 에러가 뜬다!
이런 요청과 응답 과정을 보고 싶다면 크롬 개발자 모드로 확인해보자.
🍪 Cookie
쿠키는 브라우저에서 서버로 요청이 있을때 도메인 단위로 발급하는 텍스트 파일이다.
한 번 저장을 하면 삭제 되거나 만료되기 전 까지 같은 서버에 요청을 하는 경우 쿠키를 준다.
약간 캐시 메모리 같은 느낌으로 생각하면 될 것 같다..
쿠키는 어떤 상태를 기억해야 하는 경우 사용하면 좋다.
예를 들어 쇼핑몰 사이트에서 쇼핑을 하다가 브라우저를 껐다 켜도 최근 본 상품이 남아있다.
장바구니에 물건을 담고 난 뒤 브라우저를 껐다 켜도 물건이 그대로 남아있다 !
또 매번 로그인 할 필요 없이 한 번 로그인 한 뒤 계속 로그인 된 상태로 사이트에 접속 할 수 도 있다.
어떤 카테고리를 검색하면 광고도 그 카테고리 위주로 나오는 경우가 있다.
이것도 검색엔진이 그 쿠키를 보고 관련 광고를 보여주는 것 이다.
Leave a comment