Learning HTTP/2. A Practical Guide for Beginners 9781491962442


205 183 6MB

English Pages [156] Year 2017

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Cover
Copyright
Table of Contents
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
Chapter 1. The Evolution of HTTP
HTTP/0.9 and 1.0
HTTP/1.1
Beyond 1.1
SPDY
HTTP/2
Chapter 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
Chapter 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
Chapter 4. Transition to HTTP/2
Browser Support
Moving to TLS
Undoing HTTP 1.1 “Optimizations”
Third Parties
Supporting Older Clients
Summary
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 9. What Is Next?
TCP or UDP?
QUIC
TLS 1.3
HTTP/3?
Summary
Appendix 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
Appendix B. Tools Reference
Index
About the Authors
Colophon

Learning HTTP/2. A Practical Guide for Beginners
 9781491962442

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Recommend Papers