728x90

연결을 유지하는 모델

클라이언트 2와, 3이 놀고 있어도 계속 연결한 서버가 유지를 해야 한다는 단점이 있음.

연결을 유지하지 않는 모델

최소한의 자원으로 서버를 유지할 수 있음.

비 연결성

  • HTTP는 기본이 연결을 유지하지 않는 모델이다.
  • 일반적으로 초 단위 이하의 빠른 속도로 응답
  • 1시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십 개 이하로 매우 작다.
    • 예) 웹 브라우저에서 계속 연속해서 검색 버튼을 누르지 않는다.
  • 서버 자원을 매우 효율적으로 사용할 수 있다.

한계와 극복

  • TCP/IP 연결을 새로 맺어야 한다. - 3 way handshake 시간이 추가된다.
  • 웹 브라우저로 사이트를 요청하면 HTML 뿐만 아니라 자바스크립트, css, 추가 이미지 등등 수많은 자원이 함께 다운로드
  • 지금은 HTTP 지속 연결(Persistent Connections)로 문제 해결
  • HTTP/2, HTTP/3에서 더 많은 최적화

스테이스리스(Stateless)를 기억

  • 같은 시간에 딱 맞추어서 대용량 트래픽이 발생할 때.
    • 이럴 땐, 비연결성이 필요가 없어짐. 00시 00분 00초에 동시에 몰려오기 때문.
    • 최대한 Stateless 설계를 생각해야 함.
  • 첫 페이지는 로그인도 필요 없는 정적 페이지를 일단 뿌려서, 사람들이 그 안에서 보고 놀게 해서 버튼을 누르게 하는 등 잔머리를 굴려야 좋다.

참조

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런...

www.inflearn.com

 

반응형

'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
코드플리