23.11.20 최초 작성
웹 브라우저
)가 서버(웹 서버
)에 요청을 보내고, 서버는 클라이언트에게 요청에 대한 응답을 보내는 방식Stateless
)요쳥-응답
구조요청 라인 (request line)
: 요청 메서드(HTTP 동작), 요청 URL, HTTP 버전 정보요청 헤더 (request header)
: 요청에 대한 부가적인 정보요청 본문 (request body)
: 실제 요청 메시지 전달 (없는 경우도 있음)GET /index.html HTTP/1.1 //request line
Host: www.example.com //request header
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Get
: 데이터를 서버로 부터 받아올 때 주로 사용POST
: 데이터를 생성 / 수정 할 때 주로 사용되는 메소드HEAD
: Get
과 유사하지만 헤더 정보만 받아 옴PUT
: 새 리소스 생성, 대상 리소스의 표현 요청 페이로드로 대체DELETE
: 서버의 지정된 리소스 삭제상태 라인(status line)
: HTTP 버전, 상태 코드, 상태 메세지응답 헤더(response header)
: 응답에 대한 부가적인 정보응답 본문(response body)
: 실제 응답 메시지HTTP/1.1 200 OK //status line
Date: Tue, 30 Mar 2023 01:23:45 GMT //response header
Server: Apache/2.4.41 (Unix)
Content-Type: text/html;charset=UTF-8
Content-Length: 1147
Connection: keep-alive
POP3
나 IMAP
과 같은 다른 프로토콜을 사용해 메일 수신SSL
, TLS
와 같은 보안 프로토콜을 사용해 데이터 암호화 필요server
client
에게 전달되는 메일을 보관하는 mailbox
outgoing message queue
client
user agent
header lines
To
:From
:Subject
:blank line
body
openssl s_client -starttls smtp -crlf -connect smtp.google.com:25
//smtp.google.com메일 서버와 TCP 연결
helo kookmin.ac.kr
mail from: <sanghwan@cs.kookmin.ac.kr> //보내는 사람의 이메일 주소
rcpt to: <sanghwan@kookmin.ac.kr> //받는 사람의 이메일 주소
data //메일 내용 시작
To: sanghwan@kookmin.ac.kr
From: sanghwan@cs.kookmin.ac.kr
Subject: mail test
Message-ID: <Rp4WnLakyLrOuNp9N067XncNQgzkYx@kookmin.ac.kr>
//blank line
How are you? //body
. //메일 내용 끝
quit
DASH Manifest 파일
(XML
형식(.mpd
))초기화
: 사용자가 동영상 재생 시 DASH 클라이언트
는 Manifest 파일
요청
메니페스트 파일 파싱
: Manifest 파일
을 분석해 동영상 품질, 코덱, 세그먼트 URL에 대한 정보 파악
비트레이트 선택
: 현재 인터넷 속도를 고려해 적절한 비트레이트 선택, 클라이언트는 사용 가능한 대역폭 예측
세그먼트 다운로드
: 클라이언트가 비트레이트에 해당하는 세그먼트를 차례대로 다운로드
동영상 재생
: 세그먼트를 버퍼
에 저장, 클라이언트가 재생
적응 스트리밍
: 인터넷 속도 변화 감지 시 비트레이트 재선택