Index
A
- Android devices, debugging, Debugging h2 on Android
- anti-patterns for h2, Anti-Patterns-Cookie-less domains, Undoing HTTP 1.1 “Optimizations”-Undoing HTTP 1.1 “Optimizations”, HTTP/2 Anti-Patterns-Prefetch
- concatenation, Undoing HTTP 1.1 “Optimizations”, Concatenating
- cookie-less domains, Cookie-less domains, Cookie-less Domains
- inlining, Spriting and resource consolidation/inlining, Inlining
- prefetch, Optimize DNS lookups, Prefetch
- sharding, Sharding, Undoing HTTP 1.1 “Optimizations”-Undoing HTTP 1.1 “Optimizations”, Domain Sharding
- spriting, Spriting and resource consolidation/inlining, Undoing HTTP 1.1 “Optimizations”, Spriting
- Application-Layer Protocol Negotiation (ALPN) extension, The Connection
- apps (see mobile browser/app support)
C
- caches/caching, Cache on the client-Conditional caching, Inlining, Servers, Proxies, and Caches-Content Delivery Networks (CDNs)
- certbot, Let’s Encrypt
- certificates, Get a Certificate-Let’s Encrypt, Moving to TLS
- Charles Proxy, Debugging h2 on iOS Using Charles Proxy-iOS devices
- Chrome developer tools, Chrome Developer Tools-Chrome session key logging
- chrome-http2-log-parser, Net internals
- chunking, Messages
- client caching TTL, Cache on the client-Cache on the client
- compression, Compression and minification
- concatenation, Undoing HTTP 1.1 “Optimizations”, Concatenating
- conditional caching, Conditional caching
- congestion avoidance phase, Inefficient use of TCP
- congestion window, Inefficient use of TCP
- connection, The Connection-The Connection
- connection coalescence, Third Parties, Domain Sharding, Connection Coalescing
- connection preface, The Connection
- connection time, Critical Performance, Critical Performance
- connection-level settings, The Connection
- Content Delivery Networks (CDNs), Optimize TCP connections, Latency, Content Delivery Networks (CDNs)
- content download time, Critical Performance
- CONTINUATION frames, Streams, CONTINUATION
- cookie-less domains, Cookie-less domains, Undoing HTTP 1.1 “Optimizations”, Cookie-less Domains
- CRIME attack, Header Compression (HPACK)
- critical performance metrics, Critical Performance-Critical Performance
- CSS blocking, Avoid blocking CSS/JS
- CSS consolidation, Spriting and resource consolidation/inlining
- curl, curl-h2i
D
- data layer, Layers of HTTP/2-Layers of HTTP/2
- debugging, HTTP/2 Debugging Tools, Debugging h2
- on Android devices, Debugging h2 on Android
- Chrome developer tools, Chrome Developer Tools-Chrome session key logging
- curl, curl-h2i
- Firefox developer tools, Firefox Developer Tools-Firefox session key logging
- h2i, h2i-Wireshark
- on iOS using Charles Proxy, Debugging h2 on iOS Using Charles Proxy-iOS devices
- nghttp2, nghttp2-Using nghttp
- OpenSSL, OpenSSL
- with WebPagetest, WebPagetest
- Wireshark, Wireshark-Wireshark
- dependencies, Priority-Priority
- desktop browsers, Desktop Web Browsers-Beta Channel
- DNS lookup, Critical Performance, Critical Performance, Optimize DNS lookups
- DNS prefetch, Optimize DNS lookups, Prefetch
- document complete, Critical Performance
- Domain Name System (DNS), Critical Performance
- domain sharding (see sharding)
F
- facebook.com performance testing, Study 1: www.facebook.com-Study 2: www.yahoo.com
- fat message headers, Fat message headers
- fetching, The Anatomy of a Web Page Request
- Firefox developer tools, Firefox Developer Tools-Firefox session key logging
- flow control, Flow Control-Flow Control
- frames/framing, Frames-Frames, HTTP/2 Frames-CONTINUATION Frame Flags
- CONTINUATION frames, Streams, CONTINUATION
- data frames, DATA
- extension frames, Frames
- GOAWAY frames, A Simple GET, GOAWAY
- HEADERS frames, Streams, HEADERS
- PING frames, PING
- PRIORITY frames, Priority-Priority, PRIORITY
- PUSH_PROMISE frames, Pushing an Object-Choosing What to Push, Server Push, PUSH_PROMISE
- RST_STREAM frames, RST_STREAM
- SETTINGS frames, The Connection, SETTINGS
- WINDOW_UPDATE frames, Flow Control, WINDOW_UPDATE
- framing layer, Layers of HTTP/2, Layers of HTTP/2
- future outlook, What Is Next?-Summary
H
- h2 (see HTTP/2)
- h2i, h2i
- head of line blocking, HTTP/1.1, Head of line blocking
- header compression, Fat message headers, Layers of HTTP/2, Header Compression (HPACK)-Header Compression (HPACK)
- header table, The Connection
- HEADERS frames, Streams, HEADERS
- hostnames, Critical Performance
- HPACK, Header Compression (HPACK)-Header Compression (HPACK), Cookie-less Domains
- HTTP Alternative Services (Alt-Svc), The Connection
- HTTP, evolution of, The Evolution of HTTP-HTTP/2
- HTTP-NG, Foreword
- HTTP/0.9, HTTP/0.9 and 1.0
- HTTP/1, The Problems with HTTP/1-Third-party objects
- HTTP/1.0, HTTP/0.9 and 1.0
- HTTP/1.1, Foreword, HTTP/1.1
- HTTP/2
- advantages over HTTP/1, Time to First Byte (TTFB)
- anti-patterns (see anti-patterns for h2)
- connection, The Connection-The Connection
- data layer, Layers of HTTP/2-Layers of HTTP/2
- disabling, Disabling HTTP/2
- evolution of, Foreword-Foreword
- expectations for, HTTP/2
- frames/framing (see frames/framing)
- framing layer, Layers of HTTP/2, Layers of HTTP/2
- GET request example, On the Wire-A Simple GET
- header compression, Header Compression (HPACK)-Header Compression (HPACK)
- layers, Layers of HTTP/2
- overview, Preface
- protocol, The HTTP/2 Protocol-Summary
- Server Push (see Server Push)
- streams, Streams-Priority
- transition to, Transition to HTTP/2-Summary
- HTTP/3, HTTP/3?
- Hypermedia, The Evolution of HTTP
- hypertext, The Evolution of HTTP
P
- packet loss, Packet Loss-Packet Loss
- packets, Inefficient use of TCP
- page complexity, Critical Performance
- page load time, Critical Performance
- page rendering, The Anatomy of a Web Page Request, Web Performance Techniques
- parsing, Frames-Frames
- performance, HTTP/2 Performance-Summary
- performance best practices, Best Practices for Web Performance-Cookie-less domains
- performance challenges, Performance Challenges Today-Summary
- bottlenecks, Critical Performance
- congestion window, Inefficient use of TCP
- critical performance metrics, Critical Performance-Critical Performance
- fat message headers, Fat message headers
- head of line blocking, HTTP/1.1, Head of line blocking
- with HTTP/1, The Problems with HTTP/1-Third-party objects
- limited priorities, Limited priorities
- with TCP use, Inefficient use of TCP-Inefficient use of TCP
- third-party objects, Third-party objects
- web page request anatomy, The Anatomy of a Web Page Request-The Anatomy of a Web Page Request
- performance testing
- ping command, Latency
- PING frames, PING
- pipelining, HTTP/1.1, Head of line blocking
- prefetch, Optimize DNS lookups, Prefetch
- PRIORITY frames, Priority-Priority, PRIORITY
- priority limitations, Limited priorities
- private keys, Moving to TLS
- protocol discovery, The Connection-The Connection
- proxies, Servers, Proxies, and Caches-Content Delivery Networks (CDNs)
- PUSH_PROMISE frames, Pushing an Object-Choosing What to Push, Server Push, PUSH_PROMISE
R
- Real User Monitoring (RUM), Packet Loss
- redirects, avoiding, Avoid redirects
- rendering, The Anatomy of a Web Page Request, Web Performance Techniques
- Request for Comments (RFCs), HTTP/1.1
- request headers, Fat message headers
- resource consolidation, Spriting and resource consolidation/inlining
- Responsive Web Design (RWD) sites, Optimize images
- RFC (Request for Comments), HTTP/1.1
- Round Trip Time (RTT), Critical Performance
- RST_STREAM frames, RST_STREAM
S
- Secure Socket Layer (SSL), Critical Performance
- self-signed certificates, Get a Certificate
- server loads, Moving to TLS
- Server Push, Server Push-Choosing What to Push, Client Implementations, Server Push, Support for HTTP/2 Server Push, Server Push visualization-Chrome session key logging
- servers, choosing, Servers, Proxies, and Caches-Content Delivery Networks (CDNs)
- SETTINGS frame, The Connection, SETTINGS
- sharding, Sharding, Undoing HTTP 1.1 “Optimizations”-Undoing HTTP 1.1 “Optimizations”, Domain Sharding
- Single Point Of Failure (SPOF), Third Parties
- SPDY, SPDY, The Connection, Header Compression (HPACK)
- SPOF-O-MATIC, Third Parties
- spriting, Spriting and resource consolidation/inlining, Undoing HTTP 1.1 “Optimizations”, Spriting
- Stadium Effect, Fat message headers
- start render time, Critical Performance
- stream ID, Pushing an Object
- streams, Streams-Priority
- supporting older clients, Supporting Older Clients
- Switching Protocols response, The Connection, Messages
- SYN, Critical Performance
- synthetic testing, Packet Loss
T
- TCP (Transmission Control Protocol), Inefficient use of TCP-Inefficient use of TCP
- TCP packets, Inefficient use of TCP-Inefficient use of TCP
- TCP sockets, Critical Performance
- text compression and minification, Compression and minification
- 3rd Party Trailing Ratio, Third-party objects
- third parties, Third Parties-Third Parties
- third-party content, Third Parties
- third-party objects, Third-party objects
- three-way handshake, Critical Performance
- Time to First Byte (TTFB), Critical Performance, Time to First Byte (TTFB)-Time to First Byte (TTFB)
- Time to Live (TTL), Cache on the client
- Transport Layer Security (TLS), Critical Performance, Moving to TLS-Moving to TLS
W
- web browsers (see browsers)
- web page requests, The Anatomy of a Web Page Request-The Anatomy of a Web Page Request
- Web Page Test (WPT), Latency, Packet Loss, Performance Measurement Methodology, WebPagetest
- web performance (see performance)
- web servers, Get and Run Your First HTTP/2 Server, Servers, Proxies, and Caches-Content Delivery Networks (CDNs)
- WINDOW_UPDATE frames, Flow Control, WINDOW_UPDATE
- Wireshark, Wireshark-Wireshark