12. Starting HTTP2.0
● for “http” uri
○ using upgrade header
○ like websocket
○ (followed connection header)
● for “https” uri
○ ALPN (application layer protocol negotiation)
○ not NPN (next protocol negotiation) like spdy
○ (followed connection header)
● with Prior Knowledge
○ may immediately send http2.0 frame
14. Stream
● sequence of HEADER & DATA
○ like req/res on http1.*
● multiplex
○ one connection has multiple concurrent streams
● priority
○ 0(high) to 2^31-1(low)
● flow control
○ WINDOW_UPDATE
○ HOP-by-HOP
15. HTTP/1.1
HEADERS & DATA frame
CLIENT SERVER
HTTP/1.1 200 OK
Content-Type: image/png
Content-Length: 123
{binary data}
GET /a.png HTTP/1.1
Host: example.org
Accept: image/png
19. Server Push
● response before request
● only safe :method (GET, HEAD)
● start with PUSH_PROMISE frame
○ notify to client which resources will push
○ if client accepts, client should not request them
● after PUSH_PROMISE
○ send a response with promised stream
○ resources are on browser cache
● after push
○ client request will hit on cache