I managed to resolve the error following the advice from one of Joakim's earlier reply.
https://dev.eclipse.org/mhonarc/lists/jetty-dev/msg02473.html Thank You :) However, I observed another error, that the stream gets closed in between and not all the contents gets pushed. I used nghttp2 as my http2 client and loaded up my index.html page. Here is the output: intel@Intel:~/jetty-distribution-9.3.6.v20151106$ nghttp -nvas https://localhost:8443/Album/index.html [ 0.001] Connected The negotiated protocol: h2 [ 0.028] send SETTINGS frame <length=12, flags=0x00, stream_id=0> (niv=2) [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100] [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535] [ 0.028] send PRIORITY frame <length=5, flags=0x00, stream_id=3> (dep_stream_id=0, weight=201, exclusive=0) [ 0.028] send PRIORITY frame <length=5, flags=0x00, stream_id=5> (dep_stream_id=0, weight=101, exclusive=0) [ 0.028] send PRIORITY frame <length=5, flags=0x00, stream_id=7> (dep_stream_id=0, weight=1, exclusive=0) [ 0.028] send PRIORITY frame <length=5, flags=0x00, stream_id=9> (dep_stream_id=7, weight=1, exclusive=0) [ 0.028] send PRIORITY frame <length=5, flags=0x00, stream_id=11> (dep_stream_id=3, weight=1, exclusive=0) [ 0.028] send HEADERS frame <length=56, flags=0x25, stream_id=13> ; END_STREAM | END_HEADERS | PRIORITY (padlen=0, dep_stream_id=11, weight=16, exclusive=0) ; Open new stream :method: GET :path: /my-gallery/index.html :scheme: https :authority: localhost:8443 accept: */* accept-encoding: gzip, deflate user-agent: nghttp2/1.6.0 [ 0.031] recv SETTINGS frame <length=18, flags=0x00, stream_id=0> (niv=3) [SETTINGS_HEADER_TABLE_SIZE(0x01):4096] [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):1024] [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535] [ 0.031] send SETTINGS frame <length=0, flags=0x01, stream_id=0> ; ACK (niv=0) [ 0.031] recv SETTINGS frame <length=0, flags=0x01, stream_id=0> ; ACK (niv=0) [ 0.034] recv (stream_id=13) :scheme: https [ 0.034] recv (stream_id=13) :method: GET [ 0.034] recv (stream_id=13) :authority: localhost:8443 [ 0.034] recv (stream_id=13) :path: /my-gallery/throbber.gif [ 0.034] recv (stream_id=13) accept: */* [ 0.034] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.034] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.034] recv (stream_id=13) host: localhost:8443 [ 0.034] recv PUSH_PROMISE frame <length=68, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=2) [ 0.038] recv (stream_id=13) :scheme: https [ 0.038] recv (stream_id=13) :method: GET [ 0.038] recv (stream_id=13) :authority: localhost:8443 [ 0.038] recv (stream_id=13) :path: /my-gallery/data.json [ 0.038] recv (stream_id=13) accept: */* [ 0.038] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.038] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.038] recv (stream_id=13) host: localhost:8443 [ 0.038] recv PUSH_PROMISE frame <length=29, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=4) [ 0.038] recv (stream_id=13) :scheme: https [ 0.038] recv (stream_id=13) :method: GET [ 0.039] recv (stream_id=13) :authority: localhost:8443 [ 0.039] recv (stream_id=13) :path: /my-gallery/cut-top.png [ 0.039] recv (stream_id=13) accept: */* [ 0.039] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.039] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.039] recv (stream_id=13) host: localhost:8443 [ 0.039] recv PUSH_PROMISE frame <length=30, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=6) [ 0.040] recv (stream_id=2) :status: 200 [ 0.040] recv (stream_id=2) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.040] recv (stream_id=2) content-length: 1657 [ 0.040] recv (stream_id=2) content-type: image/gif [ 0.040] recv (stream_id=2) accept-ranges: bytes [ 0.040] recv HEADERS frame <length=47, flags=0x04, stream_id=2> ; END_HEADERS (padlen=0) ; First push response header [ 0.040] recv (stream_id=4) :status: 200 [ 0.040] recv (stream_id=4) last-modified: Sun, 20 Sep 2015 00:21:22 GMT [ 0.040] recv (stream_id=4) content-length: 20696 [ 0.040] recv (stream_id=4) content-type: application/json [ 0.040] recv (stream_id=4) accept-ranges: bytes [ 0.040] recv HEADERS frame <length=47, flags=0x04, stream_id=4> ; END_HEADERS (padlen=0) ; First push response header [ 0.040] recv DATA frame <length=16384, flags=0x00, stream_id=4> [ 0.040] recv DATA frame <length=4312, flags=0x01, stream_id=4> ; END_STREAM [ 0.040] recv DATA frame <length=1657, flags=0x01, stream_id=2> ; END_STREAM [ 0.042] recv (stream_id=6) :status: 200 [ 0.042] recv (stream_id=6) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.042] recv (stream_id=6) content-length: 205 [ 0.042] recv (stream_id=6) content-type: image/png [ 0.042] recv (stream_id=6) accept-ranges: bytes [ 0.042] recv HEADERS frame <length=41, flags=0x04, stream_id=6> ; END_HEADERS (padlen=0) ; First push response header [ 0.042] recv DATA frame <length=205, flags=0x01, stream_id=6> ; END_STREAM [ 0.042] recv (stream_id=13) :scheme: https [ 0.042] recv (stream_id=13) :method: GET [ 0.042] recv (stream_id=13) :authority: localhost:8443 [ 0.042] recv (stream_id=13) :path: /my-gallery/imgs/ad.jpg [ 0.042] recv (stream_id=13) accept: */* [ 0.042] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.042] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.042] recv (stream_id=13) host: localhost:8443 [ 0.042] recv PUSH_PROMISE frame <length=30, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=8) [ 0.043] recv (stream_id=13) :scheme: https [ 0.043] recv (stream_id=13) :method: GET [ 0.043] recv (stream_id=13) :authority: localhost:8443 [ 0.043] recv (stream_id=13) :path: /my-gallery/cut-mov.png [ 0.043] recv (stream_id=13) accept: */* [ 0.043] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.043] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.043] recv (stream_id=13) host: localhost:8443 [ 0.043] recv PUSH_PROMISE frame <length=30, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=10) [ 0.044] recv (stream_id=8) :status: 200 [ 0.044] recv (stream_id=8) last-modified: Sun, 20 Sep 2015 00:13:42 GMT [ 0.044] recv (stream_id=8) content-length: 119474 [ 0.044] recv (stream_id=8) content-type: image/jpeg [ 0.044] recv (stream_id=8) accept-ranges: bytes [ 0.044] recv HEADERS frame <length=45, flags=0x04, stream_id=8> ; END_HEADERS (padlen=0) ; First push response header [ 0.062] recv DATA frame <length=16384, flags=0x00, stream_id=8> [ 0.065] recv DATA frame <length=16384, flags=0x00, stream_id=8> [ 0.066] recv DATA frame <length=10209, flags=0x00, stream_id=8> [ 0.066] recv (stream_id=10) :status: 200 [ 0.066] recv (stream_id=10) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.066] recv (stream_id=10) content-length: 197 [ 0.066] recv (stream_id=10) content-type: image/png [ 0.066] recv (stream_id=10) accept-ranges: bytes [ 0.066] recv HEADERS frame <length=34, flags=0x04, stream_id=10> ; END_HEADERS (padlen=0) ; First push response header [ 0.066] recv (stream_id=13) :scheme: https [ 0.066] recv (stream_id=13) :method: GET [ 0.066] recv (stream_id=13) :authority: localhost:8443 [ 0.066] recv (stream_id=13) :path: /my-gallery/download.png [ 0.066] recv (stream_id=13) accept: */* [ 0.066] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.066] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.066] recv (stream_id=13) host: localhost:8443 [ 0.066] recv PUSH_PROMISE frame <length=31, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=12) [ 0.066] recv (stream_id=12) :status: 200 [ 0.066] recv (stream_id=12) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.066] recv (stream_id=12) content-length: 422 [ 0.066] recv (stream_id=12) content-type: image/png [ 0.066] recv (stream_id=12) accept-ranges: bytes [ 0.066] recv HEADERS frame <length=33, flags=0x04, stream_id=12> ; END_HEADERS (padlen=0) ; First push response header [ 0.066] recv (stream_id=13) :scheme: https [ 0.066] recv (stream_id=13) :method: GET [ 0.066] recv (stream_id=13) :authority: localhost:8443 [ 0.066] recv (stream_id=13) :path: /my-gallery/right.png [ 0.066] recv (stream_id=13) accept: */* [ 0.066] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.066] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.066] recv (stream_id=13) host: localhost:8443 [ 0.066] recv PUSH_PROMISE frame <length=29, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=14) [ 0.066] recv (stream_id=13) :scheme: https [ 0.066] recv (stream_id=13) :method: GET [ 0.066] recv (stream_id=13) :authority: localhost:8443 [ 0.066] recv (stream_id=13) :path: /my-gallery/mootools-mooswipe.js [ 0.066] recv (stream_id=13) accept: */* [ 0.066] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.066] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.066] recv (stream_id=13) host: localhost:8443 [ 0.066] recv PUSH_PROMISE frame <length=36, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=16) [ 0.066] recv (stream_id=13) :scheme: https [ 0.066] recv (stream_id=13) :method: GET [ 0.066] recv (stream_id=13) :authority: localhost:8443 [ 0.066] recv (stream_id=13) :path: /my-gallery/cut-left.png [ 0.066] recv (stream_id=13) accept: */* [ 0.066] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.066] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.066] recv (stream_id=13) host: localhost:8443 [ 0.066] recv PUSH_PROMISE frame <length=31, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=18) [ 0.066] recv (stream_id=13) :scheme: https [ 0.066] recv (stream_id=13) :method: GET [ 0.066] recv (stream_id=13) :authority: localhost:8443 [ 0.066] recv (stream_id=13) :path: /my-gallery/mootools-core-1.4.js [ 0.066] recv (stream_id=13) accept: */* [ 0.066] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.066] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.066] recv (stream_id=13) host: localhost:8443 [ 0.066] recv PUSH_PROMISE frame <length=36, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=20) [ 0.066] recv (stream_id=13) :scheme: https [ 0.066] recv (stream_id=13) :method: GET [ 0.066] recv (stream_id=13) :authority: localhost:8443 [ 0.066] recv (stream_id=13) :path: /my-gallery/index.css [ 0.066] recv (stream_id=13) accept: */* [ 0.066] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.066] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.066] recv (stream_id=13) host: localhost:8443 [ 0.066] recv PUSH_PROMISE frame <length=29, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=22) [ 0.067] recv (stream_id=13) :scheme: https [ 0.067] recv (stream_id=13) :method: GET [ 0.067] recv (stream_id=13) :authority: localhost:8443 [ 0.067] recv (stream_id=13) :path: /my-gallery/index.js [ 0.067] recv (stream_id=13) accept: */* [ 0.067] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.067] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.067] recv (stream_id=13) host: localhost:8443 [ 0.067] recv PUSH_PROMISE frame <length=28, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=24) [ 0.067] recv (stream_id=13) :scheme: https [ 0.067] recv (stream_id=13) :method: GET [ 0.067] recv (stream_id=13) :authority: localhost:8443 [ 0.067] recv (stream_id=13) :path: /my-gallery/thumbs/ad.jpg [ 0.067] recv (stream_id=13) accept: */* [ 0.067] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.067] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.067] recv (stream_id=13) host: localhost:8443 [ 0.067] recv PUSH_PROMISE frame <length=32, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=26) [ 0.067] recv (stream_id=13) :scheme: https [ 0.067] recv (stream_id=13) :method: GET [ 0.067] recv (stream_id=13) :authority: localhost:8443 [ 0.067] recv (stream_id=13) :path: /my-gallery/eye.png [ 0.067] recv (stream_id=13) accept: */* [ 0.067] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.067] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.067] recv (stream_id=13) host: localhost:8443 [ 0.067] recv PUSH_PROMISE frame <length=28, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=28) [ 0.067] recv (stream_id=13) :scheme: https [ 0.067] recv (stream_id=13) :method: GET [ 0.067] recv (stream_id=13) :authority: localhost:8443 [ 0.067] recv (stream_id=13) :path: /my-gallery/blurs/ad.jpg [ 0.067] recv (stream_id=13) accept: */* [ 0.067] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.067] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.067] recv (stream_id=13) host: localhost:8443 [ 0.067] recv PUSH_PROMISE frame <length=31, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=30) [ 0.067] recv (stream_id=13) :scheme: https [ 0.067] recv (stream_id=13) :method: GET [ 0.067] recv (stream_id=13) :authority: localhost:8443 [ 0.067] recv (stream_id=13) :path: /my-gallery/mootools-more-1.4.js [ 0.067] recv (stream_id=13) accept: */* [ 0.067] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.067] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.067] recv (stream_id=13) host: localhost:8443 [ 0.067] recv PUSH_PROMISE frame <length=36, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=32) [ 0.067] recv (stream_id=13) :scheme: https [ 0.067] recv (stream_id=13) :method: GET [ 0.067] recv (stream_id=13) :authority: localhost:8443 [ 0.067] recv (stream_id=13) :path: /my-gallery/cut-right.png [ 0.067] recv (stream_id=13) accept: */* [ 0.067] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.067] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.067] recv (stream_id=13) host: localhost:8443 [ 0.067] recv PUSH_PROMISE frame <length=32, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=34) [ 0.067] recv (stream_id=13) :scheme: https [ 0.067] recv (stream_id=13) :method: GET [ 0.067] recv (stream_id=13) :authority: localhost:8443 [ 0.067] recv (stream_id=13) :path: /my-gallery/mootools-idle.js [ 0.067] recv (stream_id=13) accept: */* [ 0.067] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.067] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.067] recv (stream_id=13) host: localhost:8443 [ 0.067] recv PUSH_PROMISE frame <length=33, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=36) [ 0.067] recv (stream_id=13) :scheme: https [ 0.067] recv (stream_id=13) :method: GET [ 0.067] recv (stream_id=13) :authority: localhost:8443 [ 0.067] recv (stream_id=13) :path: /my-gallery/back.png [ 0.067] recv (stream_id=13) accept: */* [ 0.067] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.067] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.067] recv (stream_id=13) host: localhost:8443 [ 0.067] recv PUSH_PROMISE frame <length=28, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=38) [ 0.067] recv (stream_id=13) :scheme: https [ 0.067] recv (stream_id=13) :method: GET [ 0.067] recv (stream_id=13) :authority: localhost:8443 [ 0.067] recv (stream_id=13) :path: /my-gallery/left.png [ 0.067] recv (stream_id=13) accept: */* [ 0.068] recv (stream_id=13) accept-encoding: gzip, deflate [ 0.068] recv (stream_id=13) user-agent: nghttp2/1.6.0 [ 0.068] recv (stream_id=13) host: localhost:8443 [ 0.068] recv PUSH_PROMISE frame <length=28, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0, promised_stream_id=40) [ 0.068] recv (stream_id=13) :status: 200 [ 0.068] recv (stream_id=13) server: Jetty(9.3.6.v20151106) [ 0.068] recv (stream_id=13) last-modified: Fri, 31 Jul 2015 08:11:50 GMT [ 0.068] recv (stream_id=13) content-length: 728 [ 0.068] recv (stream_id=13) content-type: text/html [ 0.068] recv (stream_id=13) accept-ranges: bytes [ 0.068] recv HEADERS frame <length=61, flags=0x04, stream_id=13> ; END_HEADERS (padlen=0) ; First response header [ 0.068] recv (stream_id=14) :status: 200 [ 0.068] recv (stream_id=14) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.068] recv (stream_id=14) content-length: 669 [ 0.068] recv (stream_id=14) content-type: image/png [ 0.068] recv (stream_id=14) accept-ranges: bytes [ 0.068] recv HEADERS frame <length=34, flags=0x04, stream_id=14> ; END_HEADERS (padlen=0) ; First push response header [ 0.068] recv (stream_id=16) :status: 200 [ 0.068] recv (stream_id=16) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.068] recv (stream_id=16) content-length: 1633 [ 0.068] recv (stream_id=16) content-type: application/javascript [ 0.068] recv (stream_id=16) accept-ranges: bytes [ 0.068] recv HEADERS frame <length=51, flags=0x04, stream_id=16> ; END_HEADERS (padlen=0) ; First push response header [ 0.068] recv (stream_id=20) :status: 200 [ 0.068] recv (stream_id=20) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.068] recv (stream_id=20) content-length: 90109 [ 0.068] recv (stream_id=20) content-type: application/javascript [ 0.068] recv (stream_id=20) accept-ranges: bytes [ 0.068] recv HEADERS frame <length=35, flags=0x04, stream_id=20> ; END_HEADERS (padlen=0) ; First push response header [ 0.068] recv (stream_id=18) :status: 200 [ 0.068] recv (stream_id=18) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.068] recv (stream_id=18) content-length: 221 [ 0.068] recv (stream_id=18) content-type: image/png [ 0.068] recv (stream_id=18) accept-ranges: bytes [ 0.068] recv HEADERS frame <length=33, flags=0x04, stream_id=18> ; END_HEADERS (padlen=0) ; First push response header [ 0.068] recv (stream_id=24) :status: 200 [ 0.068] recv (stream_id=24) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.068] recv (stream_id=24) content-length: 15537 [ 0.068] recv (stream_id=24) content-type: application/javascript [ 0.068] recv (stream_id=24) accept-ranges: bytes [ 0.068] recv HEADERS frame <length=35, flags=0x04, stream_id=24> ; END_HEADERS (padlen=0) ; First push response header [ 0.068] recv (stream_id=26) :status: 200 [ 0.068] recv (stream_id=26) last-modified: Sun, 20 Sep 2015 00:13:43 GMT [ 0.068] recv (stream_id=26) content-length: 3721 [ 0.068] recv (stream_id=26) content-type: image/jpeg [ 0.068] recv (stream_id=26) accept-ranges: bytes [ 0.068] recv HEADERS frame <length=34, flags=0x04, stream_id=26> ; END_HEADERS (padlen=0) ; First push response header [ 0.068] recv (stream_id=28) :status: 200 [ 0.068] recv (stream_id=28) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.068] recv (stream_id=28) content-length: 525 [ 0.068] recv (stream_id=28) content-type: image/png [ 0.068] recv (stream_id=28) accept-ranges: bytes [ 0.068] recv HEADERS frame <length=34, flags=0x04, stream_id=28> ; END_HEADERS (padlen=0) ; First push response header [ 0.068] send WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0> (window_size_increment=38879) [ 0.068] send WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=8> (window_size_increment=32768) [ 0.076] recv (stream_id=30) :status: 200 [ 0.077] recv (stream_id=30) last-modified: Sun, 20 Sep 2015 00:13:44 GMT [ 0.077] recv (stream_id=30) content-length: 13520 [ 0.078] recv (stream_id=30) content-type: image/jpeg [ 0.078] recv (stream_id=30) accept-ranges: bytes [ 0.078] recv HEADERS frame <length=35, flags=0x04, stream_id=30> ; END_HEADERS (padlen=0) ; First push response header [ 0.078] recv (stream_id=32) :status: 200 [ 0.078] recv (stream_id=32) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.078] recv (stream_id=32) content-length: 6508 [ 0.078] recv (stream_id=32) content-type: application/javascript [ 0.078] recv (stream_id=32) accept-ranges: bytes [ 0.078] recv HEADERS frame <length=34, flags=0x04, stream_id=32> ; END_HEADERS (padlen=0) ; First push response header [ 0.078] recv (stream_id=34) :status: 200 [ 0.078] recv (stream_id=34) last-modified: Sun, 20 Sep 2015 00:13:38 GMT [ 0.078] recv (stream_id=34) content-length: 193 [ 0.078] recv (stream_id=34) content-type: image/png [ 0.079] recv (stream_id=34) accept-ranges: bytes [ 0.079] recv HEADERS frame <length=34, flags=0x04, stream_id=34> ; END_HEADERS (padlen=0) ; First push response header [ 0.079] [INVALID; error=Protocol error] recv PUSH_PROMISE frame <length=29, flags=0x04, stream_id=22> ; END_HEADERS (padlen=0, promised_stream_id=42) [ 0.079] [INVALID; error=Protocol error] recv HEADERS frame <length=35, flags=0x04, stream_id=42> ; END_HEADERS (padlen=0) ; Open new stream [ 0.079] send GOAWAY frame <length=39, flags=0x00, stream_id=0> (last_stream_id=40, error_code=PROTOCOL_ERROR(0x01), opaque_data(31)=[PUSH_PROMISE: invalid stream_id]) Some requests were not processed. total=21, processed=3 ***** Statistics ***** Request timing: responseEnd: the time when last byte of response was received relative to connectEnd requestStart: the time just before first byte of request was sent relative to connectEnd. If '*' is shown, this was pushed by server. process: responseEnd - requestStart code: HTTP status code size: number of bytes received as response body without inflation. URI: request URI see http://www.w3.org/TR/resource-timing/#processing-model sorted by 'complete' id responseEnd requestStart process code size request path 4 +12.04ms * +9.54ms 2.51ms 200 20K /my-gallery/data.json 2 +12.99ms * +5.52ms 7.47ms 200 1K /my-gallery/throbber.gif 6 +13.51ms * +10.29ms 3.23ms 200 205 /my-gallery/cut-top.png I observed a similar kind of error with h2o server and it has been resolved now. https://github.com/h2o/h2o/issues/726 May be you can have a look and determine if it is similar to what has been observed with h2o or it is the issue with the client. Let me know if I should start another mail for the observed error. Thank You. On Tue, Feb 2, 2016 at 1:12 PM, Joakim Erdfelt <[email protected]> wrote: > > > Joakim Erdfelt / [email protected] > > On Tue, Feb 2, 2016 at 3:19 AM, Conundrum <[email protected]> wrote: > >> Hello >> >> I am trying to test the server push feature on a static website with >> standalone Jetty. >> >> My website consists of an index.html + 1 CSS + a bunch of images. The >> directory structure is: >> >> /Album >> | >> |-----index.html >> |-----style.css >> |------/images >> | >> |----- image 1 >> |---a set of about 100 images >> |---image100.png >> >> >> As I just wanted to quickly test out the server push feature I did not >> code this website as a Java Web project and, therefore, didn't have any >> web.xml file. >> >> However, the Jetty documentation asks to add PushCacheFilter to web.xml. >> Therefore, I created a /Album/WEB-INF/web.xml in my project and added the >> PushCacheFilter as the documentation specified. >> > > This is the correct way to handle it. > > >> >> First, I am unable to understand from the documentation how exactly >> PushCacheFilter works. >> Secondly, I want to control which files get pushed and which do not. From >> the documentation, it seems PushCacheFilter doesn't give me that kind of >> control. >> > > > https://www.eclipse.org/jetty/documentation/current/http2-configuring-push.html > > It's documented there, look at the mention of Referer. > > The support for custom Push is only in jetty master branch (unstable Jetty > 9.4.0) atm, which is based on an early draft of the Servlet 4.0 PushBuilder > interface. > Added in commit > https://github.com/eclipse/jetty.project/commit/5093aa3d405dc3b048d6f65b4d42315670e4195c > > - Joakim > > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
