ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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)을 사용하고 있다,

     

     

     

     

     

Designed by Tistory.