twocowsong

[모든 개발자를 위한 HTTP 웹 기본 지식 - 12] 본문

IT/HTTP

[모든 개발자를 위한 HTTP 웹 기본 지식 - 12]

WsCode 2022. 1. 22. 16:13

비연결성

비연결성(connectionless)
• HTTP는 기본이 연결을 유지하지 않는 모델
-(클라이언트가 서버에게 요청 후 서버는 응답 한 뒤 연결을 끈어버린다.)
• 일반적으로 초 단위의 이하의 빠른 속도로 응답
• 1시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십개 이
하로 매우 작음
• 예) 웹 브라우저에서 계속 연속해서 검색 버튼을 누르지는 않는다.
• 서버 자원을 매우 효율적으로 사용할 수 있음
-(클라이언트랑 연결이 되어있지않기때문에 서버적 부담이 크지않다)

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


매번 연결 때문에 시간이 비효율적으로 추가되었다.


지속 연결을 사용하기에 매번 연결하는 시간보다 효율적으로 시간이 줄어들게 된다. HTTP/2에서 많이 수정하였으며 HTTP/3 에서는 UDP 프로토콜을 사용하기 때문에 연결 속도 자체가 줄어든다.