컴퓨터 용어
Connection, Connectionless
Twisted
2025. 2. 24. 22:27
Connection(연결)
- 서버는 클라이언트와 연결을 유지하기 위해서 자원을 소모한다.
- 하지만, 수많은 사람들이 서비스를 이용해도 실제 서버에서 동시처리하는 요청은 작다.
- 클라이언트 2,3이 아무런 요청이 없어도 일단 연결을 유지한다.
Connection의 장단점
장점 ✅
- 새로운 연결 과정을 거치지 않아도 된다.
- 그만큼 요청에 대한 응답 속도가 빨라진다.
단점 ❌
- 클라이언트가 지속적으로 요청을 보낼 거라는 보장이 없다.
- 즉, 연결을 위한 자원이 낭비된다.
Connectionless(비연결)
- 클라이언트와 서버는 연결을 유지하지 않는다.
- 서버는 최소한의 자원만을 사용한다.
ex > 브라우저가 켜진 상태에서 인터넷이 종료되어도 홈페이지가 정상적으로 노출된다.
Connectionless의 장단점
장점 ✅
- 서버 자원을 효율적으로 사용할 수 있다.
단점 ❌
- 요청이 추가적으로 오게 되면 연결을 새로 해야 한다. -> 요청에 대한 응답 시간이 증가한다.
- 웹 사이트의 HTML, CSS, JS, 이미지 등의 정적 자원을 모두 다시 다운로드 해야한다. -> 캐시, 브라우저 캐싱으로 해결 가능하다.
- 현재는 HTTP 지속연결 (Persistent Connections)로 문제를 해결한다.
HTTP 지속연결(Persistent Connections)
- 하나의 요청에 피룡한 요청들이 모두 응답될 때까지 연결을 유지한다.
- 연결을 한 번만 맺고 끊기 때문에, Connectionless 방식보다 연결 횟수가 적다. -> 그만큼 속도가 빠름
언제 어떤 방식을 사용해야 할까?
데이터가 손실되면 안 되는 경우 -> TCP 사용 (Connection)
빠른 응답이 중요한 경우 -> UDP 사용 (Connectionless)