목차
Connection
정의 : 통신 중에 상태(State)를 유지합니다. 서로 계속 연결된 상태에서 데이터를 주고받습니다.

- 서버는 클라이언트와 연결을 유지하기 위해서 자원을 소모합니다.
- 하지만, 수많은 사람들이 서비스를 이용해도 실제 서버에서 동시에 처리하는 요청은 작습니다.
- 클라이언트 2, 3이 아무런 요청이 없어도 연결을 유지합니다. (자원 낭비)
대표 예시 :
- 웹소켓 (WebSocket) : 한 번 연결되면 지속적으로 메시지 송수신
- SSH, Telnet : 로그인 후 세션을 유지
- DB 커넥션 풀 : 연결을 재사용하며 유지
특징 :
- 지속적인 연결 유지
- 서버가 클라이언트 상태를 기억 (Stateful)
- 처리 속도는 느릴 수 있으나 연속적인 작업에 적합
장점 :
- 새로운 연결 과정 ❌
- 그만큼 요청에 대한 응답 속도가 빨라짐 ✅
단점 :
- 오버헤드(연결 설정 및 유지)
- 즉, 연결을 위한 자원이 낭비된다.
Connectionless(비연결)
정의 : 매 요청마다 새로운 연결을 열고, 작업이 끝나면 바로 연결을 종료합니다.

- 클라이언트와 서버는 연결을 유지하지 않는다.
- 서버는 최소한의 자원만을 사용한다.
대표 예시 :
- HTTP/1.0 (기본적으로 요청마다 연결 새로 열고 닫음)
- REST API 설계 : 요청 간 상태 없이 독립적 처리
- DNS 조회 : 요청-응답 후 종료
특징 :
- 요청마다 연결 생성 → 처리 → 종료
- 서버는 클라이언트의 상태를 기억하지 않음 (Stateless)
- 확장성과 단순성이 높음
장점 :
- 서버 자원을 효율적으로 사용 ✅
- 브라우저가 켜진 상태에서 인터넷이 종료되어도 새로고침하기 전까지 홈페이지가 정상적으로 노출 ✅
단점 :
- 요청이 추가적으로 오게되면 연결(3 way handshake)을 새로 해야함
→ 요청에 대한 응답 시간이 증가 - 웹 사이트의 HTML, CSS, JS, 이미지 등의 정적 자원 모두를 다시 다운로드 함
→ 캐시, 브라우저 캐싱로 해결한다. 쉽게 말해 임시저장 - HTTP 지속연결(Persistent Connections)을 통해 문제를 해결
https://kimyongjun0129.tistory.com/149
[CS] 서버 상태 관리의 두 방식: Stateless와 Stateful
목차Stateful (상태 유지)Stateless (무상태) Stateful (상태 유지)정의 : 클라이언트의 이전 상태(로그인 여부, 장바구니 정보 등)를 서버가 기억합니다. 예시 : 수강 신청 예수강생 : 수강 신청합니다. →
kimyongjun0129.tistory.com
'CS' 카테고리의 다른 글
| [CS] Web Server와 WAS, 각각의 역할 이해하기 (0) | 2025.05.07 |
|---|---|
| [CS] HTTP 지속 연결(Persistent Connection)의 등장 배경과 발전 (0) | 2025.05.07 |
| [CS] 서버 상태 관리의 두 방식: Stateless와 Stateful (0) | 2025.05.06 |
| [CS] 서버 성능 향상 전략: Scale Up과 Scale Out (0) | 2025.05.06 |
| [CS] 웹 주소 체계: DNS, URI, URL, URN (0) | 2025.05.06 |