Table of Contents for
Learning HTTP/2
Close
Version ebook
/
Retour
Learning HTTP/2
by Javier Garza
Published by O'Reilly Media, Inc., 2017
nav
Cover
Learning HTTP/2
Learning HTTP/2
Preface
Foreword
1. The Evolution of HTTP
2. HTTP/2 Quick Start
3. How and Why We Hack the Web
4. Transition to HTTP/2
5. The HTTP/2 Protocol
6. HTTP/2 Performance
7. HTTP/2 Implementations
8. Debugging h2
9. What Is Next?
A. HTTP/2 Frames
B. Tools Reference
Index
About the Authors
Colophon
Preface
Who Should Read This Book
What This Book Isn’t
Recommended Resources
Conventions Used in This Book
Using Code Examples
O’Reilly Safari
How to Contact Us
Acknowledgments
Javier Garza
Stephen Ludin
Foreword
1. The Evolution of HTTP
HTTP/0.9 and 1.0
HTTP/1.1
Beyond 1.1
SPDY
HTTP/2
2. HTTP/2 Quick Start
Up and Running
Get a Certificate
Use an Online Generator
Self Signed
Let’s Encrypt
Get and Run Your First HTTP/2 Server
Pick a Browser
3. How and Why We Hack the Web
Performance Challenges Today
The Anatomy of a Web Page Request
Critical Performance
The Problems with HTTP/1
Web Performance Techniques
Best Practices for Web Performance
Anti-Patterns
Summary
4. Transition to HTTP/2
Browser Support
Moving to TLS
Undoing HTTP 1.1 “Optimizations”
Third Parties
Supporting Older Clients
Summary
5. The HTTP/2 Protocol
Layers of HTTP/2
The Connection
Frames
Streams
Messages
Flow Control
Priority
Server Push
Pushing an Object
Choosing What to Push
Header Compression (HPACK)
On the Wire
A Simple GET
Summary
6. HTTP/2 Performance
Client Implementations
Latency
Packet Loss
Server Push
Time to First Byte (TTFB)
Third Parties
HTTP/2 Anti-Patterns
Domain Sharding
Inlining
Concatenating
Cookie-less Domains
Spriting
Prefetch
Real-World Performance
Performance Measurement Methodology
Study 1: www.facebook.com
Study 2: www.yahoo.com
Summary
7. HTTP/2 Implementations
Desktop Web Browsers
TLS Only
Disabling HTTP/2
Support for HTTP/2 Server Push
Connection Coalescing
HTTP/2 Debugging Tools
Beta Channel
Mobile
Mobile App Support
Servers, Proxies, and Caches
Content Delivery Networks (CDNs)
Summary
8. Debugging h2
Web Browser Developer Tools
Chrome Developer Tools
Firefox Developer Tools
Debugging h2 on iOS Using Charles Proxy
Debugging h2 on Android
WebPagetest
OpenSSL
OpenSSL Commands
nghttp2
Using nghttp
curl
Using curl
h2i
Wireshark
Summary
9. What Is Next?
TCP or UDP?
QUIC
TLS 1.3
HTTP/3?
Summary
A. HTTP/2 Frames
The Frame Header
DATA
DATA Frame Fields
DATA Frame Flags
HEADERS
HEADERS Frame Fields
HEADERS Frame Flags
PRIORITY
PRIORITY Frame Fields
RST_STREAM
SETTINGS
SETTINGS Parameters
PUSH_PROMISE
PUSH_PROMISE Frame Fields
PUSH_PROMISE Frame Flags
PING
GOAWAY
GOAWAY Frame Fields
WINDOW_UPDATE
WINDOW_UPDATE Frame Fields
CONTINUATION
CONTINUATION Frame Fields
CONTINUATION Frame Flags
B. Tools Reference
Tools
Browsers
Servers, Proxies, and Caches
Index