이 글은 강의 : 김영한님의 - "[모든 개발자를 위한 HTTP 웹 기본지식]"을 듣고 정리한 내용입니다. 😁😁
처음엔 문서간에 링크를 통해 연결할 수 있는 프로토콜로 사용했으나, 현재는 모든 것을 전송한다.
TCP 통신은 3 way handshake 때문에 신뢰성과 연결성은 보장하지만, 이 과정에 걸리는 시간만큼 속도가 떨어질 수 밖에 없다. 그렇기에 HTTP/3에서는 UDP 프로토콜을 애플리케이션 레벨에서 재설계를 해서 속도를 높혔다.
클라이언트는 요청(Request)를 보내고 서버는 요청에 대한 결과를 응답(Response)하는 구조이다.
이렇게 클라이언트와 서버를 분리함으로써 각각의 역할에 맞는 챔임만 수행하면 되기에 각 역할은 자신의 책임에 집중할 수 있다.
이렇게 함으로써 이슈가 생겼을 때도 이슈가 생긴 역할에서만 이슈를 관리하면 된다.
🎈 참고: 무상태 프로토콜의 실무적 한계
로그인서비스와 같이 상태가 있어야 하는 서비스도 있기에 설계적 한계도 있고, 매번 모든 데이터를 보내야 한다는 점도 문제가 될 수 있다.
로그인은 쿠키,세션등을 이용해 상태를 유지하고는 한다.
클라이언트와 서버가 요청(Request)시에만 연결이되며 그 외에는 연결을 유지하지 않고, 않아야 한다. 계속 연결을 유지하는것도 결국 비용이고 연결을 최소한으로 함으로써 비용을 절약한다.
(단점)