728x90
연결을 유지하는 모델
클라이언트 2와, 3이 놀고 있어도 계속 연결한 서버가 유지를 해야 한다는 단점이 있음.
연결을 유지하지 않는 모델
최소한의 자원으로 서버를 유지할 수 있음.
비 연결성
- HTTP는 기본이 연결을 유지하지 않는 모델이다.
- 일반적으로 초 단위 이하의 빠른 속도로 응답
- 1시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십 개 이하로 매우 작다.
- 예) 웹 브라우저에서 계속 연속해서 검색 버튼을 누르지 않는다.
- 서버 자원을 매우 효율적으로 사용할 수 있다.
한계와 극복
- TCP/IP 연결을 새로 맺어야 한다. - 3 way handshake 시간이 추가된다.
- 웹 브라우저로 사이트를 요청하면 HTML 뿐만 아니라 자바스크립트, css, 추가 이미지 등등 수많은 자원이 함께 다운로드
- 지금은 HTTP 지속 연결(Persistent Connections)로 문제 해결
- HTTP/2, HTTP/3에서 더 많은 최적화
스테이스리스(Stateless)를 기억
- 같은 시간에 딱 맞추어서 대용량 트래픽이 발생할 때.
- 이럴 땐, 비연결성이 필요가 없어짐. 00시 00분 00초에 동시에 몰려오기 때문.
- 최대한 Stateless 설계를 생각해야 함.
- 첫 페이지는 로그인도 필요 없는 정적 페이지를 일단 뿌려서, 사람들이 그 안에서 보고 놀게 해서 버튼을 누르게 하는 등 잔머리를 굴려야 좋다.
참조
반응형
'CS > HTTP' 카테고리의 다른 글
[HTTP] HTTP 메세지 (3) | 2022.11.27 |
---|---|
[HTTP] Stateful, Stateless (0) | 2022.11.27 |
[HTTP] 클라이언트 서버 구조 (0) | 2022.11.27 |
[HTTP] HTTP (0) | 2022.11.26 |
[HTTP] 웹 브라우저 요청 흐름 (0) | 2022.11.26 |