tcp / ip 같은 경우에는 기본적으로 연결을 유지하게 된다. 연결을 유지하는 동안 서버에 자원이 계속 소모가 된다.
연결을 유지하지 않는 모델은 자원을 요청을 주고 받을 때만 연결을 하고 끊어버려서 서버가 유지하는 자원을 최소한으로 줄이는 것이다.
서버가 동시에 유지해야 되는 자원은 요청할 때만 받고 바로 끊어버리기 때문에 최소한의 자원으로 서버를 유지할 수 있다.
비 연결성
- HTTP는 기본이 연결을 유지하지 않는 모델
- 일반적으로 초 단위 이하의 빠른 속도로 응답
- 1시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십개 이하이고 매우 작다.
- ex) 웹 브라우저에서 계속 연속해서 검색 버튼을 누르지 않음
- 서버 자원을 매우 효율적으로 사용 가능(자원의 가용성을 높일 수 있음)
한계와 극복
- TCP / IP 연결을 새로 맺어야 함 - 3 way handshake 시간 추가
- 웹 브라우저로 사이트를 요청하면 HTML 뿐만 아니라 JavaScript, CSS, 추가 이미지 등 수 많은 자원이 함께 다운로드 가능
- HTTP 지속 연결로 문제를 해결할 수 있다.
- HTTP/2, HTTP/3에서 더 많은 최적화가 가능
http2와 3는 빠른 해결이 가능했다. http3는 또 udp protocol을 쓰면서 연결속도 자체도 줄일수 있게 되었다.
스테이스리스를 기억하자
<출처 김영한: 모든 개발자를 위한 HTTP 웹 기본 지식 >
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의
실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런...
www.inflearn.com
'HTTP' 카테고리의 다른 글
HTTP API (0) | 2022.04.27 |
---|---|
HTTP 메시지 (0) | 2022.04.07 |
Stateful, Stateless (0) | 2022.04.07 |
HTTP 기본 & 클라이언트 서버 구조 (0) | 2022.04.07 |
웹 브라우저 요청 흐름 (0) | 2022.04.07 |