티스토리 뷰
웹 서비스 모델
웹 브라우저와 웹 서버
HTTP는 TCP 연결을 설정하고 이 연결을 사용해서 HTTP 메시지를 교환한다.
웹 서버(Web Server)
- 웹 페이지들의 저장소와 요청 처리 소프트웨어
웹 페이지
- 기본 객체(base object)와 참조 객체(object)들로 구성
- 기본 객체 : HTML file, 페이지 내의 다른 객체를 URL로 참조
- 참조 객체 : HTML file, JPEG image 등등
웹 객체 주소 : URL(Uniform Resource Locator)
URL은 두 부분으로 구성된다.
- host name : 웹 서버 호스트의 이름 및 도메인 이름
- path name : 내가 지정하고자 하는 웹페이지 파일의 경로
즉, URL은 host name과 path name이 결합된 형태이다.
웹 브라우저
- 웹 서비스 사용자 인터페이스
- 웹 페이지 요청 및 응답 페이지 디스플레이
HTTP(Hyper Text Transfer Protocol)
클라이언트인 웹 브라우저와 웹 서버 간의 정보를 교환하는 규칙을 정의한 프로토콜
TCP Connection
웹 요청 정보와 응답 정보의 신뢰 전송 통로
HTTP 원리
HTTP 요청(request)과 응답(response)
웹 객체 각각에 대한 요청과 응답 메시지
HTTP Request
- 웹 사용자의 요청으로 웹 브라우저에 의해 생성되는 메시지
- 웹 서버의 웹 객체 URL과 해당 웹 객체 처리 방식 정보 제공
- 하위 계층의 TCP 연결을 통해 웹 서버에게 전송
HTTP Response
- 웹 브라우저의 요청으로 웹 서버에 의해 생성되는 메시지
- 수신한 URL에 해당되는 웹 객체와 웹 객체 속성 정보 제공
- 하위 계층의 TCP 연결을 통해 웹 서버에게 전송
비상태형 프로토콜(stateless protocol)
- HTTP request 메시지와 HTTP response 메시지 간의 관계 정보가 웹 서버에 저장되지 않음
- 서버는 수신되는 HTTP request 메시지 간의 관계 추론 불가
- 웹 브라우저-웹 서버 간의 통신 상태 정보를 유지하지 않음(stateless protocol)
HTTP와 TCP 연결
TCP 연결과 HTTP 요청
- 3-way handshaking
- 클라이언트에서 SYN라는 TCP 연결 요청 메시지를 서버에게 보낸다.
- 서버는 SYN, ACK 메시지를 보내는 것으로 응답한다.
- 클라이언트는 연결되었다는 판단 근거로 ACK 메시지를 서버로 보낸다.
요청을 보내고 응답을 받기까지의 시간을 왕복 지연 시간(Round Trip Time : RTT)이라 한다.
비지속(non-persistent) 연결 HTTP
TCP 연결 설정 한 뒤, 그 이후에도 해당 연결을 지속할 것인지 말 것인지에 따라 지속, 비지속으로 나뉜다.
비지속 연결 HTTP
- 웹 객체를 위한 HTTP request와 HTTP response 메시지 쌍마다 별도의 TCP 연결 설정
- 10개의 객체로 구성된 웹페이지 전송을 위해 10개의 TCP 연결 설정
- 다중 연결(multiple connections) 설정으로 병렬 전송 가능
- 서버 자원 관리 차원에서 클라이언트별 병렬연결 수 제한(5~10)
비지속 HTTP와 지연시간
- 객체별 지연시간 : 2RTT + 객체 파일 전송 시간
지속(persistent) 연결 HTTP
지속 연결 HTTP
- 동일 서버의 다수 웹 객체가 하나의 TCP 연결을 통해 클라이언트에게 전송하도록 TCP 연결 유지
- 일정 시간 동안 사용하지 않으면 TCP 연결 해제
- TCP 연결 지연시간 절약, 사용하지 않는 시간 동안 자원(소켓 자료구조) 낭비
- 다수의 객체를 한꺼번에 요청하고 응답하는 파이프라이닝(pipelining) 적용
비지속 연결 HTTP 파이프 라인
지속 비지속 연결 장단점 비교
지속 연결 HTTP
- TCP 연결 지연시간 회피
- 파이프라이닝 지원 가능
- 사용하지 않는 시간 동안 TCP 연결 자원 낭비
비지속 연결 HTTP
- 필요할 때만 TCP 연결 - 자원(소켓 자료구조) 낭비 회피
- 병렬 TCP 연결 지원 가능 - 제한적
- TCP 연결 지연시간 발생
하이브리드 HTTP 가능
댓글