HTTP/HTTP 기본

비연결성(connectionless)

개복이 2022. 1. 9. 14:44

연결을 유지하는 모델

한 번이라도 통신을 하면 연결을 계속 유지, 서버 자원을 소모한다.

 

연결을 유지하지 않는 모델

요청과 응답이 끝나면 TCP/IP 연결 종료 -> 서버는 연결을 유지X, 최소한의 자원 유지

 

 

비 연결성

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

 

비 연결성 - 한계와 극복

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

 

 

HTTP 초기 - 연결, 종료 낭비

다양한 요청과 응답에 대해서 연결, 종료에 대한 낭비

 

 

HTTP 지속 연결(Persistent Connections)

다양한 요청과 응답을 연결 및 종료를 한 번

 

 

 

Reference

  • 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한