Skip to content

Instantly share code, notes, and snippets.

@onnimonni
Last active January 24, 2017 22:01
Show Gist options
  • Save onnimonni/bb5db7dd9112990c8314b4e6c178c087 to your computer and use it in GitHub Desktop.
Save onnimonni/bb5db7dd9112990c8314b4e6c178c087 to your computer and use it in GitHub Desktop.
Cloudflare tcp logs from Chrome which shows how image.jpg gets succesfully pushed with http2 server push feature.
t=15910 [st= 0] +HTTP2_SESSION [dt=?]
--> host = "http2-server-push-demo.keksi.io:443"
--> proxy = "DIRECT"
t=15910 [st= 0] HTTP2_SESSION_INITIALIZED
--> protocol = "h2"
--> source_dependency = 705 (SOCKET)
t=15910 [st= 0] HTTP2_SESSION_SEND_SETTINGS
--> settings = ["[id:3 flags:0 value:1000]","[id:4 flags:0 value:6291456]","[id:1 flags:0 value:65536]"]
t=15910 [st= 0] HTTP2_STREAM_UPDATE_RECV_WINDOW
--> delta = 15663105
--> window_size = 15728640
t=15910 [st= 0] HTTP2_SESSION_SENT_WINDOW_UPDATE_FRAME
--> delta = 15663105
--> stream_id = 0
t=15910 [st= 0] HTTP2_SESSION_RECV_SETTINGS
--> clear_persisted = false
--> host = "http2-server-push-demo.keksi.io:443"
t=15910 [st= 0] HTTP2_SESSION_RECV_SETTING
--> flags = 0
--> id = 3
--> value = 128
t=15910 [st= 0] HTTP2_SESSION_UPDATE_STREAMS_SEND_WINDOW_SIZE
--> delta_window_size = 1
t=15910 [st= 0] HTTP2_SESSION_RECV_SETTING
--> flags = 0
--> id = 4
--> value = 65536
t=15910 [st= 0] HTTP2_SESSION_RECV_SETTING
--> flags = 0
--> id = 5
--> value = 16777215
t=15910 [st= 0] HTTP2_SESSION_RECEIVED_WINDOW_UPDATE_FRAME
--> delta = 2147418112
--> stream_id = 0
t=15910 [st= 0] HTTP2_SESSION_UPDATE_SEND_WINDOW
--> delta = 2147418112
--> window_size = 2147483647
t=15911 [st= 1] HTTP2_SESSION_SEND_HEADERS
--> exclusive = true
--> fin = true
--> has_priority = true
--> :method: GET
:authority: http2-server-push-demo.keksi.io
:scheme: https
:path: /
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
dnt: 1
accept-encoding: gzip, deflate, sdch, br
accept-language: fi-FI,fi;q=0.8,en-US;q=0.6,en;q=0.4
cookie: [315 bytes were stripped]
--> parent_stream_id = 0
--> stream_id = 1
--> weight = 256
t=16632 [st= 722] HTTP2_SESSION_RECV_HEADERS
--> fin = false
--> :status: 200
date: Tue, 24 Jan 2017 21:06:56 GMT
content-type: text/html; charset=UTF-8
cache-control: public, max-age=0, must-revalidate
x-frame-options: DENY
x-xss-protection: 1; mode=block
age: 1209
vary: Accept-Encoding
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
server: cloudflare-nginx
cf-ray: 326673bb5f655aeb-HEL
content-encoding: gzip
cf-h2-pushed: </image.jpg>
--> stream_id = 1
t=16632 [st= 722] HTTP2_SESSION_RECV_PUSH_PROMISE
--> :authority: http2-server-push-demo.keksi.io
:method: GET
:path: /image.jpg
:scheme: https
accept-encoding: gzip, deflate, sdch, br
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
accept-language: fi-FI,fi;q=0.8,en-US;q=0.6,en;q=0.4
--> id = 1
--> promised_stream_id = 2
t=16632 [st= 722] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 896
--> stream_id = 1
t=16632 [st= 722] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -896
--> window_size = 15727744
t=16633 [st= 723] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 552
--> stream_id = 1
t=16633 [st= 723] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -552
--> window_size = 15727192
t=16633 [st= 723] HTTP2_SESSION_RECV_DATA
--> fin = true
--> size = 0
--> stream_id = 1
t=16633 [st= 723] HTTP2_SESSION_RECV_HEADERS
--> fin = false
--> :status: 200
date: Tue, 24 Jan 2017 21:06:56 GMT
content-type: image/jpeg
content-length: 66242
set-cookie: [125 bytes were stripped]
etag: "3d1446f79540c4d6b0186747eeb972e8-ssl"
x-frame-options: DENY
x-xss-protection: 1; mode=block
cache-control: public, max-age=31536000
cf-cache-status: HIT
vary: Accept-Encoding
expires: Wed, 24 Jan 2018 21:06:56 GMT
accept-ranges: bytes
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
server: cloudflare-nginx
cf-ray: 326673bf78635aeb-HEL
--> stream_id = 2
t=16633 [st= 723] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1117
--> stream_id = 2
t=16633 [st= 723] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1117
--> window_size = 15726075
t=16633 [st= 723] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16633 [st= 723] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15724706
t=16634 [st= 724] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16634 [st= 724] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15723337
t=16634 [st= 724] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16634 [st= 724] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15721968
t=16634 [st= 724] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16634 [st= 724] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15720599
t=16635 [st= 725] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16635 [st= 725] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15719230
t=16636 [st= 726] HTTP2_STREAM_UPDATE_RECV_WINDOW
--> delta = 896
--> window_size = 15720126
t=16636 [st= 726] HTTP2_STREAM_UPDATE_RECV_WINDOW
--> delta = 552
--> window_size = 15720678
t=16637 [st= 727] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 230
--> stream_id = 2
t=16637 [st= 727] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -230
--> window_size = 15720448
t=16637 [st= 727] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1130
--> stream_id = 2
t=16637 [st= 727] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1130
--> window_size = 15719318
t=16655 [st= 745] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16655 [st= 745] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15717949
t=16656 [st= 746] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 2738
--> stream_id = 2
t=16656 [st= 746] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -2738
--> window_size = 15715211
t=16659 [st= 749] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16659 [st= 749] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15713842
t=16659 [st= 749] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 752
--> stream_id = 2
t=16659 [st= 749] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -752
--> window_size = 15713090
t=16662 [st= 752] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1360
--> stream_id = 2
t=16662 [st= 752] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1360
--> window_size = 15711730
t=16663 [st= 753] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16663 [st= 753] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15710361
t=16664 [st= 754] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16664 [st= 754] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15708992
t=16665 [st= 755] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16665 [st= 755] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15707623
t=16669 [st= 759] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16669 [st= 759] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15706254
t=16670 [st= 760] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1356
--> stream_id = 2
t=16670 [st= 760] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1356
--> window_size = 15704898
t=16670 [st= 760] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1373
--> stream_id = 2
t=16670 [st= 760] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1373
--> window_size = 15703525
t=16671 [st= 761] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 2738
--> stream_id = 2
t=16671 [st= 761] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -2738
--> window_size = 15700787
t=16673 [st= 763] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16673 [st= 763] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15699418
t=16673 [st= 763] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16673 [st= 763] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15698049
t=16675 [st= 765] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1343
--> stream_id = 2
t=16675 [st= 765] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1343
--> window_size = 15696706
t=16678 [st= 768] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1360
--> stream_id = 2
t=16678 [st= 768] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1360
--> window_size = 15695346
t=16678 [st= 768] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16678 [st= 768] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15693977
t=16679 [st= 769] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16679 [st= 769] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15692608
t=16681 [st= 771] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16681 [st= 771] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15691239
t=16682 [st= 772] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16682 [st= 772] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15689870
t=16683 [st= 773] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1356
--> stream_id = 2
t=16683 [st= 773] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1356
--> window_size = 15688514
t=16683 [st= 773] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 4
--> stream_id = 2
t=16683 [st= 773] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -4
--> window_size = 15688510
t=16684 [st= 774] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16684 [st= 774] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15687141
t=16684 [st= 774] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16684 [st= 774] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15685772
t=16688 [st= 778] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16688 [st= 778] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15684403
t=16688 [st= 778] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16688 [st= 778] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15683034
t=16698 [st= 788] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1369
--> stream_id = 2
t=16698 [st= 788] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1369
--> window_size = 15681665
t=16698 [st= 788] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1343
--> stream_id = 2
t=16698 [st= 788] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1343
--> window_size = 15680322
t=16700 [st= 790] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 4220
--> stream_id = 2
t=16700 [st= 790] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -4220
--> window_size = 15676102
t=16702 [st= 792] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 3972
--> stream_id = 2
t=16702 [st= 792] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -3972
--> window_size = 15672130
t=16702 [st= 792] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 248
--> stream_id = 2
t=16702 [st= 792] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -248
--> window_size = 15671882
t=16703 [st= 793] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 4229
--> stream_id = 2
t=16703 [st= 793] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -4229
--> window_size = 15667653
t=16704 [st= 794] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 3715
--> stream_id = 2
t=16704 [st= 794] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -3715
--> window_size = 15663938
t=16704 [st= 794] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1540
--> stream_id = 2
t=16704 [st= 794] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1540
--> window_size = 15662398
t=16704 [st= 794] HTTP2_SESSION_RECV_DATA
--> fin = true
--> size = 0
--> stream_id = 2
t=16985 [st=1075] HTTP2_SESSION_SEND_HEADERS
--> exclusive = true
--> fin = true
--> has_priority = true
--> :method: GET
:authority: http2-server-push-demo.keksi.io
:scheme: https
:path: /favicon.ico
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
accept: image/webp,image/*,*/*;q=0.8
dnt: 1
referer: https://http2-server-push-demo.keksi.io/
accept-encoding: gzip, deflate, sdch, br
accept-language: fi-FI,fi;q=0.8,en-US;q=0.6,en;q=0.4
cookie: [315 bytes were stripped]
--> parent_stream_id = 0
--> stream_id = 3
--> weight = 220
t=17862 [st=1952] HTTP2_SESSION_RECV_HEADERS
--> fin = false
--> :status: 404
date: Tue, 24 Jan 2017 21:06:57 GMT
content-type: text/html; charset=utf-8
cache-control: public, max-age=0, must-revalidate
x-frame-options: DENY
x-xss-protection: 1; mode=block
vary: Accept-Encoding
cf-cache-status: MISS
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
server: cloudflare-nginx
cf-ray: 326673c208ae5aeb-HEL
content-encoding: gzip
--> stream_id = 3
t=17863 [st=1953] HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1800
--> stream_id = 3
t=17863 [st=1953] HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1800
--> window_size = 15660598
t=17863 [st=1953] HTTP2_SESSION_RECV_DATA
--> fin = true
--> size = 0
--> stream_id = 3
t=17865 [st=1955] HTTP2_STREAM_UPDATE_RECV_WINDOW
--> delta = 1800
--> window_size = 15662398
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment