본문 바로가기
네트워크/HTTP

[HTTP] 비 연결성(connectionless)

by drCode 2022. 7. 1.
728x90
반응형

 

연결을 유지하는 모델

요청을 보내고 응답을 받아서 연결이 유지됌

 

 

 

이 것의 단점은 클라이언트 1,2 가 놀고 있어도 서버 연결을 계속 유지, 자원을 소모하게 됌

 

연결을 유지하지 않는 모델

 

이렇게 하면 서버는 연결을 유지하지 않고, 최소한의 자원만 사용하게 된다.

 

 

비 연결성

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

한계와 극복

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

 

HTTP 초기 - 연결, 종료, 낭비

초기 연결은  매번 하나 받고 종료하고를 반복했다.

 

 

HTTP 지속 연결(Persistent Connections)

 

스테이스리스를 기억하자

서버 개발자들이 어려워하는 업무

  • 정말 같은 시간에 딱 맞추어 발생하는 대용량 트래픽
  • 예) 선착순 이벤트, 명절 KTX 예약, 학과 수업 등록
  • 예) 저녁 6:00 선착순 1,000명 치킨 할인 이벤트 -> 수만명 동시 요청

 

 

728x90
반응형

'네트워크 > HTTP' 카테고리의 다른 글

[HTTP] HTTP API를 만들어보자.  (0) 2022.07.01
[HTTP] HTTP 메시지  (0) 2022.07.01
[HTTP] Stateful, Stateless  (0) 2022.05.11
[HTTP] 클라이언트 서버 구조  (0) 2022.05.11
[HTTP] HTTP(HyperText Transfer Protocol)  (0) 2022.05.11

댓글