-
240105 HTTP 기본TIL 2024. 1. 5. 18:36
역사
HTTP는 1.1, 2, 3 으로 점점 진화하고 있다
그 중 메인이 되는것은 주로 사용하는 1.1 이며 2,3은 성능개선 버젼
1과 2는 TCP, 3은 UDP 기반이다
특징
1. 클라이언트-서버 구조
HTTP는 클라이언트-서버 구조로, 클라이언트에서 요청 Request 을 보내고 서버의 응답 Request 을 기달리는 식이다.
이를 최대한 활용하기 위해 클라이언트는 가시성을 위한 UI 위주로 발전하고
서버는 데이터나 비즈니스 로직을 처리하는 최적화 위주로 발전했다.
2. 무상태 프로토콜
무상태 Stateless 와 상태유지 Stateless 프로토콜이 있는데 HTTP는 그 중 무상태 프로토콜을 사용한다.
표로 간단히 정리하면
무상태 상태유지 상태 기존 클라이언트를 상태를 유지하지 않고 요청마다 새로 응답 기존 클라이언트 상태를 유지 특징 주기적 통신이 필요치 않음으로 수평확장에 유리함 한 서버가 계속 클라이언트와 계속 통신해야 하기에 비효율적 사용예시 로그인이 필요 없는 단순한 서비스 화면 상태유지가 필요한 로그인 (쿠키&세션 사용) 상태유지의 경우 비효율적이기에 스케일아웃(수평확장)에 유리한 무상태로 설계하는편이 좋다
상태유지는 꼭 필요한 상황에만 쓸것
3. 비 연결성
HTTP는 기본적으로 연결을 유지하지 않는 모델로 요청-응답-손절 로 서버 자원을 효율적으로 사용할수 있지만
한편으론 재연결 시마다 3 way handshake를 해야하는 번거로움이있다.
그래서 지금은 필요한 정보를 다 받을때까지 계속 연결하는 HTTP 지속 연결(Persistent Connections)을 사용하고 있다,
'TIL' 카테고리의 다른 글
240106 HTTP 메서드 (0) 2024.01.06 240105 HTTP 기본 - 용청/응답 메세지 (1) 2024.01.05 240104 URI와 웹 브라우저 요청 흐름 (1) 2024.01.04 240103 인터넷 네트워크 (1) 2024.01.03 [0904]프론트-유저따라 특정 버튼만 보이게 하기 (0) 2023.09.05