Welcome to Centmin Mod Community
Register Now

Cloudflare Anyone get Cloudflare HTTP/2 Server Push Working ?

Discussion in 'Domains, DNS, Email & SSL Certificates' started by eva2000, May 14, 2018.

  1. eva2000

    eva2000 Administrator Staff Member

    42,070
    9,493
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +14,605
    Local Time:
    9:32 PM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    Now that this forum is behind Cloudflare, thought I'd see if Cloudflare HTTP/2 Server Push is working or not. Unfortunately, seems Cloudflare HTTP/2 Server Push doesn't seem to be working for me. Anyone here got it working ?

    Testing non-Cloudflare Nginx HTTP/2 Server Push



    First of Centmin Mod Nginx 1.13.9+ versions have HTTP/2 Server Push working as outlined here. You can see from curl header checks against demo site that link rel=preload headers exist
    Code (Text):
    curl -I https://http2.centminmod.com/
    HTTP/2 200
    date: Mon, 14 May 2018 00:54:22 GMT
    content-type: text/html; charset=utf-8
    content-length: 6495
    last-modified: Fri, 04 May 2018 08:49:34 GMT
    vary: Accept-Encoding
    etag: "5aec1e9e-195f"
    server: nginx centminmod
    x-powered-by: centminmod
    strict-transport-security: max-age=31536000; includeSubdomains;
    referrer-policy: strict-origin-when-cross-origin
    x-frame-options: SAMEORIGIN
    x-xss-protection: 1; mode=block
    x-content-type-options: nosniff
    set-cookie: pushcheck=pushed
    link: </purecss/pure-min.css>; rel=preload; as=style, </purecss/grids-responsive-min.css>; rel=preload; as=style
    accept-ranges: bytes
    

    And using nghttp2 stats test you can see that the 2 css files setup with link rel=preload have an asterix * next to the responseEnd column times - denoting HTTP/2 Server Push
    Code (Text):
    nghttp -nas https://http2.centminmod.com/       
    
    ***** 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
     13     +2.61ms       +122us   2.49ms  200   2K /
      2     +2.90ms *    +2.06ms    841us  200   3K /purecss/pure-min.css
      4     +3.19ms *    +2.10ms   1.09ms  200   1K /purecss/grids-responsive-min.css
    

    On verbose nghttp command check you can see PUSH_PROMISE frames which also indicate HTTP/2 Server Push occured
    Code (Text):
    nghttp -navs https://http2.centminmod.com/         
    
    [  0.033] Connected
    The negotiated protocol: h2
    [  0.051] 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.051] send PRIORITY frame <length=5, flags=0x00, stream_id=3>
             (dep_stream_id=0, weight=201, exclusive=0)
    [  0.051] send PRIORITY frame <length=5, flags=0x00, stream_id=5>
             (dep_stream_id=0, weight=101, exclusive=0)
    [  0.051] send PRIORITY frame <length=5, flags=0x00, stream_id=7>
             (dep_stream_id=0, weight=1, exclusive=0)
    [  0.051] send PRIORITY frame <length=5, flags=0x00, stream_id=9>
             (dep_stream_id=7, weight=1, exclusive=0)
    [  0.051] send PRIORITY frame <length=5, flags=0x00, stream_id=11>
             (dep_stream_id=3, weight=1, exclusive=0)
    [  0.052] send HEADERS frame <length=46, 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: /
             :scheme: https
             :authority: http2.centminmod.com
             accept: */*
             accept-encoding: gzip, deflate
             user-agent: nghttp2/1.31.0-DEV
    [  0.052] recv SETTINGS frame <length=18, flags=0x00, stream_id=0>
             (niv=3)
             [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):128]
             [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65536]
             [SETTINGS_MAX_FRAME_SIZE(0x05):16777215]
    [  0.052] recv WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0>
             (window_size_increment=2147418112)
    [  0.052] send SETTINGS frame <length=0, flags=0x01, stream_id=0>
             ; ACK
             (niv=0)
    [  0.052] recv SETTINGS frame <length=0, flags=0x01, stream_id=0>
             ; ACK
             (niv=0)
    [  0.052] recv (stream_id=13) :method: GET
    [  0.052] recv (stream_id=13) :path: /purecss/pure-min.css
    [  0.052] recv (stream_id=13) :scheme: https
    [  0.052] recv (stream_id=13) :authority: http2.centminmod.com
    [  0.052] recv (stream_id=13) accept-encoding: gzip, deflate
    [  0.052] recv (stream_id=13) user-agent: nghttp2/1.31.0-DEV
    [  0.052] recv PUSH_PROMISE frame <length=68, flags=0x04, stream_id=13>
             ; END_HEADERS
             (padlen=0, promised_stream_id=2)
    [  0.052] recv (stream_id=13) :method: GET
    [  0.052] recv (stream_id=13) :path: /purecss/grids-responsive-min.css
    [  0.052] recv (stream_id=13) :scheme: https
    [  0.052] recv (stream_id=13) :authority: http2.centminmod.com
    [  0.052] recv (stream_id=13) accept-encoding: gzip, deflate
    [  0.052] recv (stream_id=13) user-agent: nghttp2/1.31.0-DEV
    [  0.052] recv PUSH_PROMISE frame <length=75, flags=0x04, stream_id=13>
             ; END_HEADERS
             (padlen=0, promised_stream_id=4)
    [  0.052] recv (stream_id=13) :status: 200
    [  0.052] recv (stream_id=13) date: Mon, 14 May 2018 00:52:34 GMT
    [  0.052] recv (stream_id=13) content-type: text/html; charset=utf-8
    [  0.052] recv (stream_id=13) last-modified: Fri, 04 May 2018 08:49:34 GMT
    [  0.052] recv (stream_id=13) vary: Accept-Encoding
    [  0.052] recv (stream_id=13) etag: W/"5aec1e9e-195f"
    [  0.052] recv (stream_id=13) server: nginx centminmod
    [  0.052] recv (stream_id=13) x-powered-by: centminmod
    [  0.052] recv (stream_id=13) strict-transport-security: max-age=31536000; includeSubdomains;
    [  0.052] recv (stream_id=13) referrer-policy: strict-origin-when-cross-origin
    [  0.052] recv (stream_id=13) x-frame-options: SAMEORIGIN
    [  0.052] recv (stream_id=13) x-xss-protection: 1; mode=block
    [  0.052] recv (stream_id=13) x-content-type-options: nosniff
    [  0.052] recv (stream_id=13) set-cookie: pushcheck=pushed
    [  0.052] recv (stream_id=13) link: </purecss/pure-min.css>; rel=preload; as=style, </purecss/grids-responsive-min.css>; rel=preload; as=style
    [  0.052] recv (stream_id=13) content-encoding: gzip
    [  0.052] recv HEADERS frame <length=420, flags=0x04, stream_id=13>
             ; END_HEADERS
             (padlen=0)
             ; First response header
    [  0.053] recv DATA frame <length=2088, flags=0x01, stream_id=13>
             ; END_STREAM
    [  0.054] recv (stream_id=2) :status: 200
    [  0.054] recv (stream_id=2) date: Mon, 14 May 2018 00:52:34 GMT
    [  0.054] recv (stream_id=2) content-type: text/css
    [  0.054] recv (stream_id=2) last-modified: Tue, 27 Sep 2016 15:04:57 GMT
    [  0.054] recv (stream_id=2) vary: Accept-Encoding
    [  0.054] recv (stream_id=2) etag: W/"57ea8a99-4386"
    [  0.054] recv (stream_id=2) server: nginx centminmod
    [  0.054] recv (stream_id=2) x-powered-by: centminmod
    [  0.054] recv (stream_id=2) expires: Wed, 13 Jun 2018 00:52:34 GMT
    [  0.054] recv (stream_id=2) cache-control: max-age=2592000
    [  0.054] recv (stream_id=2) cache-control: public, must-revalidate, proxy-revalidate
    [  0.054] recv (stream_id=2) content-encoding: gzip
    [  0.054] recv HEADERS frame <length=241, flags=0x04, stream_id=2>
             ; END_HEADERS
             (padlen=0)
             ; First push response header
    [  0.055] recv DATA frame <length=4077, flags=0x01, stream_id=2>
             ; END_STREAM
    [  0.056] recv (stream_id=4) :status: 200
    [  0.056] recv (stream_id=4) date: Mon, 14 May 2018 00:52:34 GMT
    [  0.056] recv (stream_id=4) content-type: text/css
    [  0.056] recv (stream_id=4) last-modified: Tue, 27 Sep 2016 15:04:57 GMT
    [  0.056] recv (stream_id=4) vary: Accept-Encoding
    [  0.056] recv (stream_id=4) etag: W/"57ea8a99-2646"
    [  0.056] recv (stream_id=4) server: nginx centminmod
    [  0.056] recv (stream_id=4) x-powered-by: centminmod
    [  0.056] recv (stream_id=4) expires: Wed, 13 Jun 2018 00:52:34 GMT
    [  0.056] recv (stream_id=4) cache-control: max-age=2592000
    [  0.056] recv (stream_id=4) cache-control: public, must-revalidate, proxy-revalidate
    [  0.056] recv (stream_id=4) content-encoding: gzip
    [  0.056] recv HEADERS frame <length=241, flags=0x04, stream_id=4>
             ; END_HEADERS
             (padlen=0)
             ; First push response header
    [  0.056] recv DATA frame <length=1480, flags=0x01, stream_id=4>
             ; END_STREAM
    [  0.056] send GOAWAY frame <length=8, flags=0x00, stream_id=0>
             (last_stream_id=4, error_code=NO_ERROR(0x00), opaque_data(0)=[])
    ***** 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
     13     +1.72ms       +247us   1.47ms  200   2K /
      2     +3.57ms *     +712us   2.86ms  200   3K /purecss/pure-min.css
      4     +4.66ms *     +797us   3.86ms  200   1K /purecss/grids-responsive-min.css
    

    Testing Cloudflare HTTP/2 Server Push



    However, when it comes to this forum checking to see if Cloudflare HTTP/2 Server Push is working, it seems it is not :(

    Curl header check showing link rel=preload hints required by Cloudflare to do a HTTP/2 Server Push - these 2 additional css files with rel=reload set in HTML template level too.
    Code (Text):
    curl -I https://community.centminmod.com/         
    HTTP/2 200
    date: Mon, 14 May 2018 00:54:39 GMT
    content-type: text/html; charset=UTF-8
    set-cookie: __cfduid=d7d8a3ba0b64a88a55b3fd36da62dc55f1526259279; expires=Tue, 14-May-19 00:54:39 GMT; path=/; domain=.centminmod.com; HttpOnly
    vary: Accept-Encoding
    vary: Accept-Encoding
    set-cookie: xfcmi_session=4c77693814071657aed98d2db99e06fa; path=/; secure; HttpOnly
    x-frame-options: SAMEORIGIN
    x-xss-protection: 1
    x-content-type-options: nosniff
    referrer-policy: strict-origin-when-cross-origin
    strict-transport-security: max-age=31536000; includeSubdomains
    link: </styles/xenbase/font-awesome/css/font-awesome.min.css>; rel="preload" as="style"
    link: </js/jquery/jquery-1.11.0.min.js>; rel="preload" as="script"
    link: </js/xenforo/xenforo.js>; rel="preload" as="script"
    link: </OneSignalSDK.js>; rel="preload" as="script"
    link: </styles/xenbase/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0>; rel="preload" as="font" crossorigin
    x-page-speed: CentminMod PageSpeed
    cache-control: max-age=0, no-cache
    x-sucuri-cache: MISS
    x-sucuri-id: 11010
    expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    server: cloudflare
    cf-ray: 41a9650e5878960d-SJC
    

    nghttp2's nghttp stats check show no asterix denoting HTTP/2 Server Push
    Code (Text):
    nghttp -nas https://community.centminmod.com/ 
    
    ***** 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
     13    +70.95ms       +121us  70.82ms  200  18K /
     19    +77.89ms     +70.98ms   6.91ms  200   6K /styles/xenbase/font-awesome/css/font-awesome.min.css
     17    +82.10ms     +70.98ms  11.12ms  200   9K /data/dbtechOptimise/cssCache/1525775276/xfCssCache_82c3c7ff0eba44cb7b8e54475f31b66ab39b5015.css
     15    +82.86ms     +70.98ms  11.88ms  200  16K /data/dbtechOptimise/cssCache/1525775276/xfCssCache_60c97f84689a38fa61fc77435e6dc196930a4ecd.css
     25    +85.51ms     +70.99ms  14.53ms  200  52K /js/xenforo/xenforo.js?_v=883ed94d
     27    +85.54ms     +70.99ms  14.55ms  200  212 /js/gab_event.js
     23    +93.66ms     +70.99ms  22.67ms  200  32K /js/jquery/jquery-1.11.0.min.js
     21    +95.01ms     +70.98ms  24.02ms  200  60K /OneSignalSDK.js
    

    Verbose nghttp output also doesn't show PUSH_PROMISE frames so HTTP/2 Server Push not working ?
    Code (Text):
    nghttp -navs https://community.centminmod.com/     
    
    [  0.026] Connected
    The negotiated protocol: h2
    [  0.033] 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.033] send PRIORITY frame <length=5, flags=0x00, stream_id=3>
             (dep_stream_id=0, weight=201, exclusive=0)
    [  0.033] send PRIORITY frame <length=5, flags=0x00, stream_id=5>
             (dep_stream_id=0, weight=101, exclusive=0)
    [  0.033] send PRIORITY frame <length=5, flags=0x00, stream_id=7>
             (dep_stream_id=0, weight=1, exclusive=0)
    [  0.033] send PRIORITY frame <length=5, flags=0x00, stream_id=9>
             (dep_stream_id=7, weight=1, exclusive=0)
    [  0.033] send PRIORITY frame <length=5, flags=0x00, stream_id=11>
             (dep_stream_id=3, weight=1, exclusive=0)
    [  0.033] send HEADERS frame <length=49, 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: /
             :scheme: https
             :authority: community.centminmod.com
             accept: */*
             accept-encoding: gzip, deflate
             user-agent: nghttp2/1.31.0-DEV
    [  0.036] recv SETTINGS frame <length=18, flags=0x00, stream_id=0>
             (niv=3)
             [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):128]
             [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65536]
             [SETTINGS_MAX_FRAME_SIZE(0x05):16777215]
    [  0.036] recv WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0>
             (window_size_increment=2147418112)
    [  0.036] send SETTINGS frame <length=0, flags=0x01, stream_id=0>
             ; ACK
             (niv=0)
    [  0.036] recv SETTINGS frame <length=0, flags=0x01, stream_id=0>
             ; ACK
             (niv=0)
    [  0.098] recv (stream_id=13) :status: 200
    [  0.098] recv (stream_id=13) date: Mon, 14 May 2018 00:55:00 GMT
    [  0.098] recv (stream_id=13) content-type: text/html; charset=UTF-8
    [  0.098] recv (stream_id=13) set-cookie: __cfduid=d292c856478d0f67a7bd8f7130989c17a1526259300; expires=Tue, 14-May-19 00:55:00 GMT; path=/; domain=.centminmod.com; HttpOnly
    [  0.098] recv (stream_id=13) vary: Accept-Encoding
    [  0.098] recv (stream_id=13) vary: Accept-Encoding
    [  0.098] recv (stream_id=13) set-cookie: xfcmi_session=4c77693814071657aed98d2db99e06fa; path=/; secure; HttpOnly
    [  0.098] recv (stream_id=13) x-frame-options: SAMEORIGIN
    [  0.098] recv (stream_id=13) x-xss-protection: 1
    [  0.098] recv (stream_id=13) x-content-type-options: nosniff
    [  0.098] recv (stream_id=13) referrer-policy: strict-origin-when-cross-origin
    [  0.098] recv (stream_id=13) strict-transport-security: max-age=31536000; includeSubdomains
    [  0.098] recv (stream_id=13) link: </styles/xenbase/font-awesome/css/font-awesome.min.css>; rel="preload" as="style"
    [  0.098] recv (stream_id=13) link: </js/jquery/jquery-1.11.0.min.js>; rel="preload" as="script"
    [  0.098] recv (stream_id=13) link: </js/xenforo/xenforo.js>; rel="preload" as="script"
    [  0.098] recv (stream_id=13) link: </OneSignalSDK.js>; rel="preload" as="script"
    [  0.098] recv (stream_id=13) link: </styles/xenbase/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0>; rel="preload" as="font" crossorigin
    [  0.098] recv (stream_id=13) x-page-speed: CentminMod PageSpeed
    [  0.098] recv (stream_id=13) cache-control: max-age=0, no-cache
    [  0.098] recv (stream_id=13) x-sucuri-cache: MISS
    [  0.098] recv (stream_id=13) x-sucuri-id: 11010
    [  0.098] recv (stream_id=13) expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    [  0.098] recv (stream_id=13) server: cloudflare
    [  0.098] recv (stream_id=13) cf-ray: 41a965964bb59324-SJC
    [  0.098] recv (stream_id=13) content-encoding: gzip
    [  0.098] recv HEADERS frame <length=799, flags=0x04, stream_id=13>
             ; END_HEADERS
             (padlen=0)
             ; First response header
    [  0.101] recv DATA frame <length=8192, flags=0x00, stream_id=13>
    [  0.103] recv DATA frame <length=8192, flags=0x00, stream_id=13>
    [  0.103] recv DATA frame <length=2616, flags=0x00, stream_id=13>
    [  0.103] recv DATA frame <length=0, flags=0x01, stream_id=13>
             ; END_STREAM
    [  0.103] send HEADERS frame <length=81, flags=0x25, stream_id=15>
             ; END_STREAM | END_HEADERS | PRIORITY
             (padlen=0, dep_stream_id=3, weight=32, exclusive=0)
             ; Open new stream
             :method: GET
             :path: /data/dbtechOptimise/cssCache/1525775276/xfCssCache_60c97f84689a38fa61fc77435e6dc196930a4ecd.css
             :scheme: https
             :authority: community.centminmod.com
             accept: */*
             accept-encoding: gzip, deflate
             user-agent: nghttp2/1.31.0-DEV
    [  0.103] send HEADERS frame <length=81, flags=0x25, stream_id=17>
             ; END_STREAM | END_HEADERS | PRIORITY
             (padlen=0, dep_stream_id=3, weight=32, exclusive=0)
             ; Open new stream
             :method: GET
             :path: /data/dbtechOptimise/cssCache/1525775276/xfCssCache_82c3c7ff0eba44cb7b8e54475f31b66ab39b5015.css
             :scheme: https
             :authority: community.centminmod.com
             accept: */*
             accept-encoding: gzip, deflate
             user-agent: nghttp2/1.31.0-DEV
    [  0.103] send HEADERS frame <length=50, flags=0x25, stream_id=19>
             ; END_STREAM | END_HEADERS | PRIORITY
             (padlen=0, dep_stream_id=3, weight=32, exclusive=0)
             ; Open new stream
             :method: GET
             :path: /styles/xenbase/font-awesome/css/font-awesome.min.css
             :scheme: https
             :authority: community.centminmod.com
             accept: */*
             accept-encoding: gzip, deflate
             user-agent: nghttp2/1.31.0-DEV
    [  0.103] send HEADERS frame <length=26, flags=0x25, stream_id=21>
             ; END_STREAM | END_HEADERS | PRIORITY
             (padlen=0, dep_stream_id=5, weight=32, exclusive=0)
             ; Open new stream
             :method: GET
             :path: /OneSignalSDK.js
             :scheme: https
             :authority: community.centminmod.com
             accept: */*
             accept-encoding: gzip, deflate
             user-agent: nghttp2/1.31.0-DEV
    [  0.104] send HEADERS frame <length=37, flags=0x25, stream_id=23>
             ; END_STREAM | END_HEADERS | PRIORITY
             (padlen=0, dep_stream_id=5, weight=32, exclusive=0)
             ; Open new stream
             :method: GET
             :path: /js/jquery/jquery-1.11.0.min.js
             :scheme: https
             :authority: community.centminmod.com
             accept: */*
             accept-encoding: gzip, deflate
             user-agent: nghttp2/1.31.0-DEV
    [  0.104] send HEADERS frame <length=39, flags=0x25, stream_id=25>
             ; END_STREAM | END_HEADERS | PRIORITY
             (padlen=0, dep_stream_id=5, weight=32, exclusive=0)
             ; Open new stream
             :method: GET
             :path: /js/xenforo/xenforo.js?_v=883ed94d
             :scheme: https
             :authority: community.centminmod.com
             accept: */*
             accept-encoding: gzip, deflate
             user-agent: nghttp2/1.31.0-DEV
    [  0.104] send HEADERS frame <length=25, flags=0x25, stream_id=27>
             ; END_STREAM | END_HEADERS | PRIORITY
             (padlen=0, dep_stream_id=5, weight=32, exclusive=0)
             ; Open new stream
             :method: GET
             :path: /js/gab_event.js
             :scheme: https
             :authority: community.centminmod.com
             accept: */*
             accept-encoding: gzip, deflate
             user-agent: nghttp2/1.31.0-DEV
    [  0.110] recv (stream_id=17) :status: 200
    [  0.110] recv (stream_id=17) date: Mon, 14 May 2018 00:55:00 GMT
    [  0.110] recv (stream_id=17) content-type: text/css
    [  0.110] recv (stream_id=17) set-cookie: __cfduid=d292c856478d0f67a7bd8f7130989c17a1526259300; expires=Tue, 14-May-19 00:55:00 GMT; path=/; domain=.centminmod.com; HttpOnly
    [  0.110] recv (stream_id=17) cache-control: public, max-age=315360000
    [  0.110] recv (stream_id=17) cf-bgj: minify
    [  0.110] recv (stream_id=17) cf-polished: origSize=51923
    [  0.110] recv (stream_id=17) etag: W/"5af17bfc-324f"
    [  0.110] recv (stream_id=17) expires: Thu, 11 May 2028 00:55:00 GMT
    [  0.110] recv (stream_id=17) last-modified: Tue, 08 May 2018 10:29:16 GMT
    [  0.110] recv (stream_id=17) referrer-policy: strict-origin-when-cross-origin
    [  0.110] recv (stream_id=17) strict-transport-security: max-age=31536000; includeSubdomains
    [  0.110] recv (stream_id=17) vary: Accept-Encoding
    [  0.110] recv (stream_id=17) x-content-type-options: nosniff
    [  0.110] recv (stream_id=17) x-sucuri-cache: MISS
    [  0.110] recv (stream_id=17) x-sucuri-id: 11010
    [  0.110] recv (stream_id=17) cf-cache-status: HIT
    [  0.110] recv (stream_id=17) expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    [  0.110] recv (stream_id=17) server: cloudflare
    [  0.110] recv (stream_id=17) cf-ray: 41a96596bbe59324-SJC
    [  0.110] recv (stream_id=17) content-encoding: gzip
    [  0.110] recv HEADERS frame <length=172, flags=0x04, stream_id=17>
             ; END_HEADERS
             (padlen=0)
             ; First response header
    [  0.111] recv DATA frame <length=8192, flags=0x00, stream_id=17>
    [  0.111] recv DATA frame <length=1237, flags=0x00, stream_id=17>
    [  0.111] recv DATA frame <length=0, flags=0x01, stream_id=17>
             ; END_STREAM
    [  0.111] recv (stream_id=27) :status: 200
    [  0.111] recv (stream_id=27) date: Mon, 14 May 2018 00:55:00 GMT
    [  0.111] recv (stream_id=27) content-type: application/javascript; charset=utf-8
    [  0.111] recv (stream_id=27) content-length: 212
    [  0.111] recv (stream_id=27) set-cookie: __cfduid=d292c856478d0f67a7bd8f7130989c17a1526259300; expires=Tue, 14-May-19 00:55:00 GMT; path=/; domain=.centminmod.com; HttpOnly
    [  0.111] recv (stream_id=27) last-modified: Thu, 11 Aug 2016 20:28:13 GMT
    [  0.111] recv (stream_id=27) vary: Accept-Encoding
    [  0.111] recv (stream_id=27) etag: "57acdfdd-d4"
    [  0.111] recv (stream_id=27) content-encoding: gzip
    [  0.111] recv (stream_id=27) expires: Thu, 11 May 2028 00:55:00 GMT
    [  0.111] recv (stream_id=27) cache-control: public, max-age=315360000
    [  0.111] recv (stream_id=27) strict-transport-security: max-age=31536000; includeSubdomains
    [  0.111] recv (stream_id=27) referrer-policy: strict-origin-when-cross-origin
    [  0.111] recv (stream_id=27) x-content-type-options: nosniff
    [  0.111] recv (stream_id=27) x-sucuri-cache: HIT
    [  0.111] recv (stream_id=27) x-sucuri-id: 11010
    [  0.111] recv (stream_id=27) cf-cache-status: HIT
    [  0.111] recv (stream_id=27) expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    [  0.111] recv (stream_id=27) server: cloudflare
    [  0.111] recv (stream_id=27) cf-ray: 41a96596bbea9324-SJC
    [  0.111] recv HEADERS frame <length=107, flags=0x04, stream_id=27>
             ; END_HEADERS
             (padlen=0)
             ; First response header
    [  0.111] recv DATA frame <length=212, flags=0x00, stream_id=27>
    [  0.111] recv DATA frame <length=0, flags=0x01, stream_id=27>
             ; END_STREAM
    [  0.111] recv (stream_id=19) :status: 200
    [  0.111] recv (stream_id=19) date: Mon, 14 May 2018 00:55:00 GMT
    [  0.111] recv (stream_id=19) content-type: text/css
    [  0.111] recv (stream_id=19) set-cookie: __cfduid=d292c856478d0f67a7bd8f7130989c17a1526259300; expires=Tue, 14-May-19 00:55:00 GMT; path=/; domain=.centminmod.com; HttpOnly
    [  0.111] recv (stream_id=19) last-modified: Tue, 25 Oct 2016 04:52:40 GMT
    [  0.111] recv (stream_id=19) vary: Accept-Encoding
    [  0.111] recv (stream_id=19) etag: W/"580ee518-791c"
    [  0.111] recv (stream_id=19) content-encoding: gzip
    [  0.111] recv (stream_id=19) expires: Thu, 11 May 2028 00:55:00 GMT
    [  0.111] recv (stream_id=19) cache-control: public, max-age=315360000
    [  0.111] recv (stream_id=19) x-cache-status: MISS
    [  0.111] recv (stream_id=19) x-sucuri-cache: HIT
    [  0.111] recv (stream_id=19) x-sucuri-id: 11010
    [  0.111] recv (stream_id=19) cf-cache-status: HIT
    [  0.111] recv (stream_id=19) expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    [  0.111] recv (stream_id=19) server: cloudflare
    [  0.111] recv (stream_id=19) cf-ray: 41a96596bbe69324-SJC
    [  0.111] recv HEADERS frame <length=88, flags=0x04, stream_id=19>
             ; END_HEADERS
             (padlen=0)
             ; First response header
    [  0.112] recv DATA frame <length=7044, flags=0x00, stream_id=19>
    [  0.112] recv DATA frame <length=0, flags=0x01, stream_id=19>
             ; END_STREAM
    [  0.112] send WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0>
             (window_size_increment=34011)
    [  0.114] recv (stream_id=15) :status: 200
    [  0.114] recv (stream_id=15) date: Mon, 14 May 2018 00:55:00 GMT
    [  0.114] recv (stream_id=15) content-type: text/css
    [  0.114] recv (stream_id=15) set-cookie: __cfduid=d292c856478d0f67a7bd8f7130989c17a1526259300; expires=Tue, 14-May-19 00:55:00 GMT; path=/; domain=.centminmod.com; HttpOnly
    [  0.114] recv (stream_id=15) cache-control: public, max-age=315360000
    [  0.114] recv (stream_id=15) cf-bgj: minify
    [  0.114] recv (stream_id=15) cf-polished: origSize=105093
    [  0.114] recv (stream_id=15) etag: W/"5af17bb3-5a35"
    [  0.114] recv (stream_id=15) expires: Thu, 11 May 2028 00:55:00 GMT
    [  0.114] recv (stream_id=15) last-modified: Tue, 08 May 2018 10:28:03 GMT
    [  0.114] recv (stream_id=15) referrer-policy: strict-origin-when-cross-origin
    [  0.114] recv (stream_id=15) strict-transport-security: max-age=31536000; includeSubdomains
    [  0.114] recv (stream_id=15) vary: Accept-Encoding
    [  0.114] recv (stream_id=15) x-content-type-options: nosniff
    [  0.114] recv (stream_id=15) x-sucuri-cache: HIT
    [  0.114] recv (stream_id=15) x-sucuri-id: 11010
    [  0.114] recv (stream_id=15) cf-cache-status: HIT
    [  0.114] recv (stream_id=15) expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    [  0.114] recv (stream_id=15) server: cloudflare
    [  0.114] recv (stream_id=15) cf-ray: 41a96596bbe49324-SJC
    [  0.114] recv (stream_id=15) content-encoding: gzip
    [  0.114] recv HEADERS frame <length=89, flags=0x04, stream_id=15>
             ; END_HEADERS
             (padlen=0)
             ; First response header
    [  0.114] recv DATA frame <length=8192, flags=0x00, stream_id=15>
    [  0.115] recv DATA frame <length=8192, flags=0x00, stream_id=15>
    [  0.115] recv DATA frame <length=688, flags=0x00, stream_id=15>
    [  0.115] recv DATA frame <length=0, flags=0x01, stream_id=15>
             ; END_STREAM
    [  0.115] recv (stream_id=25) :status: 200
    [  0.115] recv (stream_id=25) date: Mon, 14 May 2018 00:55:00 GMT
    [  0.115] recv (stream_id=25) content-type: application/javascript; charset=utf-8
    [  0.115] recv (stream_id=25) set-cookie: __cfduid=d292c856478d0f67a7bd8f7130989c17a1526259300; expires=Tue, 14-May-19 00:55:00 GMT; path=/; domain=.centminmod.com; HttpOnly
    [  0.115] recv (stream_id=25) last-modified: Tue, 01 May 2018 13:03:09 GMT
    [  0.115] recv (stream_id=25) vary: Accept-Encoding
    [  0.115] recv (stream_id=25) etag: W/"5ae8658d-29599"
    [  0.115] recv (stream_id=25) content-encoding: gzip
    [  0.115] recv (stream_id=25) expires: Thu, 11 May 2028 00:55:00 GMT
    [  0.115] recv (stream_id=25) cache-control: public, max-age=315360000
    [  0.115] recv (stream_id=25) x-cache-status: HIT
    [  0.115] recv (stream_id=25) x-sucuri-cache: HIT
    [  0.115] recv (stream_id=25) x-sucuri-id: 11010
    [  0.115] recv (stream_id=25) cf-cache-status: HIT
    [  0.115] recv (stream_id=25) expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    [  0.115] recv (stream_id=25) server: cloudflare
    [  0.115] recv (stream_id=25) cf-ray: 41a96596bbe99324-SJC
    [  0.115] recv HEADERS frame <length=78, flags=0x04, stream_id=25>
             ; END_HEADERS
             (padlen=0)
             ; First response header
    [  0.116] recv DATA frame <length=8192, flags=0x00, stream_id=25>
    [  0.117] recv DATA frame <length=8192, flags=0x00, stream_id=25>
    [  0.117] recv DATA frame <length=8192, flags=0x00, stream_id=25>
    [  0.117] send WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0>
             (window_size_increment=35130)
    [  0.119] recv DATA frame <length=7445, flags=0x00, stream_id=25>
    [  0.119] send WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=25>
             (window_size_increment=36241)
    [  0.119] recv DATA frame <length=8192, flags=0x00, stream_id=25>
    [  0.120] recv DATA frame <length=6576, flags=0x00, stream_id=25>
    [  0.120] recv (stream_id=23) :status: 200
    [  0.120] recv (stream_id=23) date: Mon, 14 May 2018 00:55:00 GMT
    [  0.120] recv (stream_id=23) content-type: application/javascript; charset=utf-8
    [  0.120] recv (stream_id=23) set-cookie: __cfduid=d292c856478d0f67a7bd8f7130989c17a1526259300; expires=Tue, 14-May-19 00:55:00 GMT; path=/; domain=.centminmod.com; HttpOnly
    [  0.120] recv (stream_id=23) last-modified: Tue, 01 May 2018 13:03:09 GMT
    [  0.120] recv (stream_id=23) vary: Accept-Encoding
    [  0.120] recv (stream_id=23) etag: W/"5ae8658d-1787d"
    [  0.120] recv (stream_id=23) content-encoding: gzip
    [  0.120] recv (stream_id=23) expires: Thu, 11 May 2028 00:55:00 GMT
    [  0.120] recv (stream_id=23) cache-control: public, max-age=315360000
    [  0.121] recv (stream_id=23) x-cache-status: HIT
    [  0.121] recv (stream_id=23) x-sucuri-cache: HIT
    [  0.121] recv (stream_id=23) x-sucuri-id: 11010
    [  0.121] recv (stream_id=23) cf-cache-status: HIT
    [  0.121] recv (stream_id=23) expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    [  0.121] recv (stream_id=23) server: cloudflare
    [  0.121] recv (stream_id=23) cf-ray: 41a96596bbe89324-SJC
    [  0.121] recv HEADERS frame <length=50, flags=0x04, stream_id=23>
             ; END_HEADERS
             (padlen=0)
             ; First response header
    [  0.121] recv DATA frame <length=6618, flags=0x00, stream_id=25>
    [  0.121] recv DATA frame <length=0, flags=0x01, stream_id=25>
             ; END_STREAM
    [  0.121] send WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0>
             (window_size_increment=34566)
    [  0.121] recv DATA frame <length=8192, flags=0x00, stream_id=23>
    [  0.122] recv DATA frame <length=8192, flags=0x00, stream_id=23>
    [  0.123] recv DATA frame <length=8192, flags=0x00, stream_id=23>
    [  0.123] recv DATA frame <length=3936, flags=0x00, stream_id=23>
    [  0.124] recv (stream_id=21) :status: 200
    [  0.125] recv (stream_id=21) date: Mon, 14 May 2018 00:55:00 GMT
    [  0.125] recv (stream_id=21) content-type: application/javascript; charset=utf-8
    [  0.125] recv (stream_id=21) content-length: 62238
    [  0.125] recv (stream_id=21) set-cookie: __cfduid=d292c856478d0f67a7bd8f7130989c17a1526259300; expires=Tue, 14-May-19 00:55:00 GMT; path=/; domain=.centminmod.com; HttpOnly
    [  0.125] recv (stream_id=21) last-modified: Sat, 12 May 2018 01:23:38 GMT
    [  0.125] recv (stream_id=21) vary: Accept-Encoding
    [  0.125] recv (stream_id=21) etag: "5af6421a-f31e"
    [  0.125] recv (stream_id=21) content-encoding: gzip
    [  0.125] recv (stream_id=21) expires: Thu, 11 May 2028 00:55:00 GMT
    [  0.125] recv (stream_id=21) cache-control: public, max-age=315360000
    [  0.125] recv (stream_id=21) x-cache-status: HIT
    [  0.125] recv (stream_id=21) x-sucuri-cache: HIT
    [  0.125] recv (stream_id=21) x-sucuri-id: 11010
    [  0.125] recv (stream_id=21) cf-cache-status: HIT
    [  0.125] recv (stream_id=21) expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    [  0.125] recv (stream_id=21) server: cloudflare
    [  0.125] recv (stream_id=21) cf-ray: 41a96596bbe79324-SJC
    [  0.125] recv HEADERS frame <length=76, flags=0x04, stream_id=21>
             ; END_HEADERS
             (padlen=0)
             ; First response header
    [  0.125] recv DATA frame <length=3509, flags=0x00, stream_id=23>
    [  0.125] recv DATA frame <length=1609, flags=0x00, stream_id=23>
    [  0.125] recv DATA frame <length=0, flags=0x01, stream_id=23>
             ; END_STREAM
    [  0.125] send WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0>
             (window_size_increment=34478)
    [  0.125] recv DATA frame <length=8192, flags=0x00, stream_id=21>
    [  0.126] recv DATA frame <length=8192, flags=0x00, stream_id=21>
    [  0.127] recv DATA frame <length=8192, flags=0x00, stream_id=21>
    [  0.127] recv DATA frame <length=4872, flags=0x00, stream_id=21>
    [  0.128] recv DATA frame <length=2587, flags=0x00, stream_id=21>
    [  0.128] send WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=0>
             (window_size_increment=33644)
    [  0.129] recv DATA frame <length=8192, flags=0x00, stream_id=21>
    [  0.129] send WINDOW_UPDATE frame <length=4, flags=0x00, stream_id=21>
             (window_size_increment=36255)
    [  0.130] recv DATA frame <length=8192, flags=0x00, stream_id=21>
    [  0.130] recv DATA frame <length=8192, flags=0x00, stream_id=21>
    [  0.131] recv DATA frame <length=5627, flags=0x00, stream_id=21>
    [  0.131] recv DATA frame <length=0, flags=0x01, stream_id=21>
             ; END_STREAM
    [  0.131] send GOAWAY frame <length=8, flags=0x00, stream_id=0>
             (last_stream_id=0, error_code=NO_ERROR(0x00), opaque_data(0)=[])
    ***** 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
     13    +70.33ms       +160us  70.17ms  200  18K /
     17    +77.88ms     +70.39ms   7.49ms  200   9K /data/dbtechOptimise/cssCache/1525775276/xfCssCache_82c3c7ff0eba44cb7b8e54475f31b66ab39b5015.css
     27    +78.37ms     +70.54ms   7.82ms  200  212 /js/gab_event.js
     19    +78.77ms     +70.42ms   8.34ms  200   6K /styles/xenbase/font-awesome/css/font-awesome.min.css
     15    +81.79ms     +70.36ms  11.43ms  200  16K /data/dbtechOptimise/cssCache/1525775276/xfCssCache_60c97f84689a38fa61fc77435e6dc196930a4ecd.css
     25    +87.79ms     +70.51ms  17.27ms  200  52K /js/xenforo/xenforo.js?_v=883ed94d
     23    +91.83ms     +70.48ms  21.34ms  200  32K /js/jquery/jquery-1.11.0.min.js
     21    +97.65ms     +70.45ms  27.20ms  200  60K /OneSignalSDK.js
    

     
  2. eva2000

    eva2000 Administrator Staff Member

    42,070
    9,493
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +14,605
    Local Time:
    9:32 PM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    Looks like Cloudflare may have disabled HTTP/2 Server Push Is HTTP/2 Server Push disabled? ?