-
(7) HTTP - ConnectionlessHTTP 웹/Http 웹 기본 2021. 6. 19. 19:10
1. 연결 / 비연결성 차이
1-1) 연결 유지 모델
> Connection 유지하려고 주기를 가지고 계속 체크하면 서버 자원 소모
( Client가 놀고 있어도 자원이 소모가 됨 )
1-2) 비연결 모델
> 요청이 들어올 때만 연결을 유지함 = Connectionless
최소한의 자원으로 서버 유지 가능
(a) 장점
- HTTP는 기본이 연결을 유지하지 않는 모델
- 일반적으로 초단위 이하의 빠른 속도로 응답 - HTTP가
- 1시간 동안 수천명이 사용하는 서비스여도 실제 서버에서 동시에 처리하는 요청은 수십개 이하
- 웹브라우저에서 클라이언트의 요청을 한번 처리하면(쿼리 + 페이지 rendering)
클라이언트가 그 웹페이지에서 상당시간동안 시간을 보내기 때문에 - 비연결방식으로 서버 자원을 효율적으로 서비스 할 수 있음
(b) 단점
- 매번 요청이 들어올 때, TCP/IP 연결을 새로 갱신해야 됨 - 3way handshake 시간 추가 소모
( syn, syn+ack, ack) - HTML 뿐만 아니라, JS + CSS + 추가 이미지 등 많은 자원이 함께 다운로드
- 현재 HTTP 지속 연결(Persistant Connections)로 문제 해결 - 기본적으로 사용
- HTTP/2, HTTP/3 에서 더 많은 최적화 이루어짐
(c) HTTP 초기 / 현재 비교
- 초기
- 현재
웬만해서 webpage 모두 받을 때 까지 지속적으로 연결
(d) 실무에서의 Stateless
- 다음과 같은 이벤트, 특정 시간에 몰릴 수 있음
- 최대한 Stateless하게 구현해야 서버를 증설하여 대응하기 수월해진다!!
※ 위 예시 대응 방식
1) 초기 웹에 static page로 로그인도 필요없는 웹페이지를 뿌림
2) 사용자들이 보다가 클릭할 수 있도록 지연시간을 두게 페이지를 의도하여
traffic이 나뉠 수 있도록 한다
참조
섹션 : 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 웹 기본' 카테고리의 다른 글
(9) HTTP - HTTP API 만들기/설계 (0) 2021.06.22 (8) HTTP - HTTP 메세지 (0) 2021.06.21 (6) HTTP - Stateless (0) 2021.06.19 (5) HTTP - 모든 것이 http / Client Server 구조 (0) 2021.06.15 (4) URI & 웹브라우저 요청 흐름 - URI, 웹브라우저 요청 흐름 (0) 2021.06.14