웹 서버
: 웹 페이지들의 저장소와 요청 처리 소프트웨어
웹 페이지
: 기본 객체(HTML file)와 참조 객체(HTML, image, audio, video ..)들로 구성
웹 브라우저
: 웹 서비스 사용자 인터페이스
HTTP
: 웹 브라우저와 웹 서버 간의 request 와 response 교환 규칙
TCP
: 웹 request 와 response 의 신뢰(패킷 손실 없이) 전송 통로
2-1. 원리
HTTP Request
웹 사용자의 요청(URL 입력, hyperlink 클릭)으로 웹 브라우저에 의해 생성되는 메시지
웹 서버의 웹 객체 URL과 웹 객체 처리 방식 정보 제공
하위(transport) 계층의 TCP 연결을 통해 웹 서버에게 전송
HTTP Response
웹 브라우저의 요청으로 웹 서버에 의해 생성되는 메시지
수신한 URL에 해당되는 웹 객체와 웹 객체 속성 정보 제공
하위(transport) 계층의 TCP 연결을 통해 웹 서버에게 전송
2-2. 비상태형 프로토콜(stateless protocol)
HTTP 는 비상태형 프로토콜
HTTP request 메시지와 HTTP response 메시지 간의 관계 정보가
웹 서버에 저장 x
웹 브라우저 - 웹 서버간의 통신 상태 정보를 유지하지 않음
→ 서버는 수신되는 HTTP request 메시지 간의 관계 추론 불가
2-3. 비지속 연결 HTTP
특징
웹 객체를 위한 HTTP request∙response 메시지 쌍마다 별도의 TCP 연결 설정
다중 연결 설정으로 병렬 전송 가능
서버 자원 관리 차원에서 클라이언트별 병렬 연결 수 제한
객체별 지연시간
*RTT : Round Trip Time, 왕복시간. 상대 호스트까지 패킷이 왕복하는데 걸리는 시간
2-4. 지속 연결 HTTP
특징
동일 서버의 다수 웹 객체가 하나의 TCP 연결을 통해 클라이언트에게 전송하도록 TCP 연결 유지
일정 시간동안 사용하지 않으면 TCP 연결 해제
TCP 연결 지연시간 절약, but 사용하지 않는 시간 동안 자원(소켓) 낭비
파이프라이닝(pipelining)으로 다수 객체를 한꺼번에 요청-응답 가능