Connection과 Connectionless은 클라이언트와 서버 간의 연결(Connection) 유지 여부에 따라 나뉘는 특성이다.
Connection ( 연결 )
Connection은 서버와 클라이언트의 TCP/IP 연결을 끊지않고 계속해서 유지한다.
Connection 장단점
- 장점
- 새로운 연결 과정을 거치지 않아도 된다.
- 그만큼 요청에 대한 응답 속도가 빨라진다.
- 단점
- 연결된 클라이언트가 지속적으로 요청을 보낼거라는 보장이 없다.
- 서버는 연결을 위한 자원이 낭비된다.
Connectionless (비연결)
connectionless는 클라이언트와 서버가 TCP/IP 연결된 후 요청과 응답이 이루어지면 연결을 유지하고 해제한다.
서버는 연결을 위한 유지를 하지않아도 된다.
Connectionless 장단점
- 장점
- 서버 자원을 효율적으로 사용할 수 있다.
- 단점
- 요청이 추가적으로 오게되면 연결(3 way handshake)을 새로 해야한다.
- 요청에 대한 응답 시간이 증가한다.
- 웹 사이트의 HTML, CSS, JS, 이미지 등의 정적 자원 요청 시 각각 연결이 필요하다.
- 현재는 HTTP 지속연결(Persistent Connections)로 connectionless 문제를 해결한다.
- 요청이 추가적으로 오게되면 연결(3 way handshake)을 새로 해야한다.
HTTP 지속연결(Persistent Connections)
Persistent Connections은 하나의 요청에 필요한 요청들이 모두 응답될 때 까지 연결을 유지한다.
연결을 한번만 맺고 끊기 때문에, Connectionless 방식보다 연결 횟수가 적고 그만큼 속도가 빨라졌다.
아래는 HTML, CSS, JS, 이미지 요청시 동작 예시를 보여준다.
'용어 모음집' 카테고리의 다른 글
프레임워크와 라이브러리 (0) | 2024.11.26 |
---|---|
Stateful과 Stateless (0) | 2024.11.26 |
Scale Up, Scale Out (0) | 2024.11.26 |
JSON (1) | 2024.11.26 |
프로그래밍 명명규칙(Casing) (0) | 2024.11.26 |