Connection, Connectionless

황상익·2024년 10월 30일

HTTP

목록 보기
9/9

클라이언트와 서버 간의 연결(Connection) 유지 여부

Connection(연결)

  • 클라이언트와 연결을 유지하기 위해서 자원을 소모
  • 사람들이 서비스를 이용해도 실제 서버에서 동시에 처리하는 요청은 작다

장단점

  • 장점
    새로운 연결 과정을 거치지 않아도 ok
    응답 속도 빠름

  • 단점
    클라이언트가 지속적으로 요청을 보낼거라는 보장이 없다.
    즉, 연결을 위한 자원이 낭비된다.

Connectionless(비연결)

  • 클라이언트와 서버는 연결을 유지하지 않는다.

  • 서버는 최소한의 자원만을 사용한다.

  • 장점
    서버 자원을 효율적으로 사용할 수 있다.

  • 단점

  • 요청이 추가적으로 오게되면 연결(3 way handshake)을 새로 해야한다.

    → 요청에 대한 응답 시간이 증가한다.

  • 웹 사이트의 HTML, CSS, JS, 이미지 등의 정적 자원 모두를 다시 다운로드 한다.

    캐시, 브라우저 캐싱로 해결한다. 쉽게 말해 임시저장 (추후 다룰 예정)

  • 현재는 HTTP 지속연결(Persistent Connections)로 문제를 해결한다.

  • HTTP 지속연결
    하나의 요청, 모두 응답될 때 까지 연결 유지
    하번만 맺고 끊기 때문에 Connetionless 방식보다 연결횟수 적음
    -> 속도 증가

profile
개발자를 향해 가는 중입니다~! 항상 겸손

0개의 댓글