HTTP의 특성

무상태 프로토콜 (Stateless)

🗣 HTTP에서 서버가 클라이언트의 상태를 보존하지 않는다.

  • 장점
    - 서버확장성이 높다
    - 무상태 응답 서버를 쉽게 바꿀 수 있기 때문에 무한한 서버 확장 가능
  • 단점
    - Client가 추가 Data를 전송해야함.

무상태의한계

🚫 로그인과 같이 유저의 상태를 유지해야하는 서비스 (쿠키, 세션, 토큰) 을 이용해 상태를 유지해야 한다.

비연결성 (Connectionless)

🗣 비연결성을 가지는 HTTP에서는 실제로 요청을 주고 받을 때만 연결을 유지하고 응답을 주고 나면 TCP/IP와의 연결을 끊는다.

  • 장점
    - 트래픽이 많지 않고, 빠른 응답을 제공할 수 있는 경우 효율적임.
  • 단점
    - 트래픽이 많고, 큰 규모의 서비스를 운영할 때 비연결성의 한계를 보임.

비연결성의 한계

🚫 (HTTP 1.0) TCP/IP 연결을 새로 맺어야하므로 3-way-handshake 시간이 추가됨 (오버 헤드 발생)

  • 한계 해결
    - HTTP1.1 에서 HTTP 지속 연결(Persistant Connections)이 가능해짐 → 연결이 이루어지고 난 뒤 각각의 자원들을 요청하고, 모든 자원에 대한 응답이 돌아온 후에 연결을 종료합니다.
  • 단점
    - 매번 새로운 연결을 시도/해제의 과정을 거쳐야하므로 오버 헤드가 발생함.
  • 한계 해결
    - KeepAlive : 이에 대한 또다른 해결책으로 오버헤드를 줄이기 위해 HTTP의 keepalive 속성을 사용.

'CS(Computer science)' 카테고리의 다른 글

[CS]HTTP 와 HTTPS의 차이는 무엇일까?  (0) 2024.02.26

+ Recent posts