- 웹페이지는 각각 다른 Web server에 저장될 수 있는 object들로 이루어져 있다.
- object: HTML file, JPEG image, Java applet, audio file, ...
- 웹페이지는 base HTML-file로 이루어져 있다.
- HTTP: hypertext transfer protocol
- HTTP는 TCP를 사용한다.
- HTTP는 “stateless”: 서버에선 과거 client 요청에 대한 정보를 유지하지 않는다.
- connection 두 가지 타입:
1. Non-persistent HTTP (초기 HTTP. HTTP 1.0)
- 최대 한 개의 object만 TCP connection으로 보낼 수 있음
- connection 열고 - object 보내고 - connection 닫고
- multiple object 다운받으려면 multiple connection 필요
- response time = 2RTT + file transmission time (object 하나당)
2. Persistent HTTP (HTTP 1.1)
- 연결을 바로 끝내지 않고 나중에 종료
- single TCP에 multiple object를 보낼 수 있음
- Pipelined GETs (HTTP 1.1)
- TCP - HTML 연결 후에 jpeg 보낼 때 보내고-받고 기다리는 게 아니라 한번에 여러개 보내고 받을 수 있음. 연결 setup과정은 필요함
- HTTP message 두 가지 타입: request, response
- Request message: ASCII
- POST: body
- GET: include user data in URL field
- response status code가 200이면 OK라는 뜻
- 1.0: non-persistent, 1.1: persistent, pipeline gets
HTTP/2
- 목표: multi-object HTPP request에서 delay 줄이기
- 1.1에선, 서버가 in-order(FCFS)로 요청에 응답했음. FCFS에선 작은 object가 large object 뒤에 있다면 기다려야 함. (blocking)
- 2에선 object들을 잘라 보내서 blocking을 방지함
- 1라운드: O1234, 2라운드: O13, 3라운드: O1...
- 1때문에 나머지가 크게 딜레이되는 걸 방지함
- Keep-Alive
: 클라이언트가 헤더에 keep alive해서 보냄 - 서버에게 ‘다 보내도 종료하지 말고 기다려’
Keep-Alice: timeout=5, max=100 하면 connection은 5초 뒤에 close됨
'네트워크 > 컴퓨터네트워크' 카테고리의 다른 글
ICMP (Internet Control Message Protocol) (0) | 2021.06.28 |
---|---|
Internet Protocol Version 4 (IPv4) (0) | 2021.06.28 |
Delivery and Forwarding of IP Packets (0) | 2021.06.28 |
NAT (Network Address Translation) (0) | 2021.06.28 |
IPv4 Addresses (0) | 2021.06.28 |
댓글