HTTP/2 in Action
Summary

HTTP/2 in Action is a complete guide to HTTP/2, one of the core protocols of the web. Because HTTP/2 has been designed to be easy to transition to, including keeping it backwards compatible, adoption is rapid and expected to increase over the next few years. Concentrating on practical matters, this interesting book presents key HTTP/2 concepts such as frames, streams, and multiplexing and explores how they affect the performance and behavior of your websites.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

HTTP—Hypertext Transfer Protocol—is the standard for exchanging messages between websites and browsers. And after 20 years, it's gotten a much-needed upgrade. With support for streams, server push, header compression, and prioritization, HTTP/2 delivers vast improvements in speed, security, and efficiency.

About the Book

HTTP/2 in Action teaches you everything you need to know to use HTTP/2 effectively. You'll learn how to optimize web performance with new features like frames, multiplexing, and push. You'll also explore real-world examples on advanced topics like flow control and dependencies. With ready-to-implement tips and best practices, this practical guide is sure to get you—and your websites—up to speed!

What's Inside

  • HTTP/2 for web developers
  • Upgrading and troubleshooting
  • Real-world examples and case studies
  • QUIC and HTTP/3

About the Reader

Written for web developers and site administrators.

About the Authors

Barry Pollard is a professional developer with two decades of experience developing, supporting, and tuning software and infrastructure.

Table of Contents

    PART 1 MOVING TO HTTP/2
  1. Web technologies and HTTP
  2. The road to HTTP/2
  3. Upgrading to HTTP/2
  4. PART 2 USING HTTP/2
  5. HTTP/2 protocol basics
  6. Implementing HTTP/2 push
  7. Optimizing for HTTP/2
  8. PART 3 ADVANCED HTTP/2
  9. Advanced HTTP/2 concepts
  10. HPACK header compression
  11. PART 4 THE FUTURE OF HTTP
  12. TCP, QUIC, and HTTP/3
  13. Where HTTP goes from here
1128580895
HTTP/2 in Action
Summary

HTTP/2 in Action is a complete guide to HTTP/2, one of the core protocols of the web. Because HTTP/2 has been designed to be easy to transition to, including keeping it backwards compatible, adoption is rapid and expected to increase over the next few years. Concentrating on practical matters, this interesting book presents key HTTP/2 concepts such as frames, streams, and multiplexing and explores how they affect the performance and behavior of your websites.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

HTTP—Hypertext Transfer Protocol—is the standard for exchanging messages between websites and browsers. And after 20 years, it's gotten a much-needed upgrade. With support for streams, server push, header compression, and prioritization, HTTP/2 delivers vast improvements in speed, security, and efficiency.

About the Book

HTTP/2 in Action teaches you everything you need to know to use HTTP/2 effectively. You'll learn how to optimize web performance with new features like frames, multiplexing, and push. You'll also explore real-world examples on advanced topics like flow control and dependencies. With ready-to-implement tips and best practices, this practical guide is sure to get you—and your websites—up to speed!

What's Inside

  • HTTP/2 for web developers
  • Upgrading and troubleshooting
  • Real-world examples and case studies
  • QUIC and HTTP/3

About the Reader

Written for web developers and site administrators.

About the Authors

Barry Pollard is a professional developer with two decades of experience developing, supporting, and tuning software and infrastructure.

Table of Contents

    PART 1 MOVING TO HTTP/2
  1. Web technologies and HTTP
  2. The road to HTTP/2
  3. Upgrading to HTTP/2
  4. PART 2 USING HTTP/2
  5. HTTP/2 protocol basics
  6. Implementing HTTP/2 push
  7. Optimizing for HTTP/2
  8. PART 3 ADVANCED HTTP/2
  9. Advanced HTTP/2 concepts
  10. HPACK header compression
  11. PART 4 THE FUTURE OF HTTP
  12. TCP, QUIC, and HTTP/3
  13. Where HTTP goes from here
49.99 In Stock
HTTP/2 in Action

HTTP/2 in Action

by Barry Pollard
HTTP/2 in Action

HTTP/2 in Action

by Barry Pollard

Paperback(1st Edition)

$49.99 
  • SHIP THIS ITEM
    In stock. Ships in 6-10 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Summary

HTTP/2 in Action is a complete guide to HTTP/2, one of the core protocols of the web. Because HTTP/2 has been designed to be easy to transition to, including keeping it backwards compatible, adoption is rapid and expected to increase over the next few years. Concentrating on practical matters, this interesting book presents key HTTP/2 concepts such as frames, streams, and multiplexing and explores how they affect the performance and behavior of your websites.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

HTTP—Hypertext Transfer Protocol—is the standard for exchanging messages between websites and browsers. And after 20 years, it's gotten a much-needed upgrade. With support for streams, server push, header compression, and prioritization, HTTP/2 delivers vast improvements in speed, security, and efficiency.

About the Book

HTTP/2 in Action teaches you everything you need to know to use HTTP/2 effectively. You'll learn how to optimize web performance with new features like frames, multiplexing, and push. You'll also explore real-world examples on advanced topics like flow control and dependencies. With ready-to-implement tips and best practices, this practical guide is sure to get you—and your websites—up to speed!

What's Inside

  • HTTP/2 for web developers
  • Upgrading and troubleshooting
  • Real-world examples and case studies
  • QUIC and HTTP/3

About the Reader

Written for web developers and site administrators.

About the Authors

Barry Pollard is a professional developer with two decades of experience developing, supporting, and tuning software and infrastructure.

Table of Contents

    PART 1 MOVING TO HTTP/2
  1. Web technologies and HTTP
  2. The road to HTTP/2
  3. Upgrading to HTTP/2
  4. PART 2 USING HTTP/2
  5. HTTP/2 protocol basics
  6. Implementing HTTP/2 push
  7. Optimizing for HTTP/2
  8. PART 3 ADVANCED HTTP/2
  9. Advanced HTTP/2 concepts
  10. HPACK header compression
  11. PART 4 THE FUTURE OF HTTP
  12. TCP, QUIC, and HTTP/3
  13. Where HTTP goes from here

Product Details

ISBN-13: 9781617295164
Publisher: Manning
Publication date: 03/16/2019
Edition description: 1st Edition
Pages: 416
Product dimensions: 7.30(w) x 9.10(h) x 1.10(d)

About the Author

Barry Pollard is a professional developer with two decades of experience developing, supporting, and tuning software and infrastructure.

Table of Contents

Preface xv

Acknowledgments xvii

About this book xx

About the author xxiii

About the cover illustration xxiv

Part 1 Moving to RTTP/2 1

1 Web technologies and HTTP 3

1.1 How the web works 3

The internet versus the World Wide Web 4

What happens when you browse the web? 4

1.2 What is HTTP? 9

1.3 The syntax and history of HTTP 15

HTTP/0.9 15

HTTP/1.0 16

HTTP/1.1 22

1.4 Introduction to HTTPS 28

1.5 Tools for viewing, sending, and receiving HTTP messages 31

Using developer tools in web browsers 31

Sending HTTP requests 33

Other tools for viewing and sending HTTP requests 34

2 The road to HTTP/2 35

2.1 HTTP/1.1 and the current World Wide Web 36

HTTP/l. 1's fundamental performance problem 38

Pipelining for HTTP/1.1 40

Waterfall diagrams for web performance measurement 41

2.2 Workarounds for HTTP/1.1 performance issues 43

Use multiple HTTP connections 44

Make fewer requests 46

HTTP/1 performance optimizations summary 48

2.3 Other issues with HTTP/1.1 48

2.4 Real-world examples 49

Example website 1: amazon.com 49

Example website 2: imgur.com 54

How much of a problem is this really? 55

2.5 Moving from HTTP/1.1 to HTTP/2 56

SPDY 56

HTTP/2 58

2.6 What HTTP/2 means for web performance 59

Extreme example of the power of HTTP/2 59

Setting expectations of HTTP/2 performance gains 62

Performance workarounds for HTTP/1.1 as potential antipatterns 67

3 Upgrading to HTTP/2 69

3.1 HTTP/2 support 69

HTTP/2 support on the browser side 70

HTTP/2 support for servers 75

Fallback when HTTP/2 isn't supported 77

3.2 Ways to enable HTTP/2 for your website 78

HTTP/2 on your web server 78

HTTP/2 with a reverse proxy 80

HTTP/2 through a CDN 84

Implementing HTTP/2 summary 85

3.3 Troubleshooting HTTP/2 setup 85

Part 2 Using HTTP/2 91

4 HTTP/2 protocol basics 93

4.1 Why HTTP/2 instead of HTTP/1.2? 94

Binary rather than textual 95

Multiplexed rather than synchronous 96

Stream prioritization and flow control 99

Header compression 100

Server push 101

4.2 How an HTTP/2 connection is established 101

Using HTIPS negotiation 102

Using the HTTP upgrade header 109

Using prior knowledge 112

HTTP Alternative Services 112

The HTTP/2 preface message 113

4.3 HTTP/2 frames 114

Viewing HTTP/2 frames 114

HTTP/2 frame format 121

Examining HTTP/2 message flow by example 122

Other frames 137

5 Implementing HTTP/2 push 142

5.1 What is HTTP/2 server push? 142

5.2 How to push 146

Using HTTP link headers to push 146

Viewing HTTP/2 pushes 148

Pushing from downstream systems by using link headers 151

Pushing earlier 155

Pushing in other to ways 161

5.3 How HTTP/2 push works in the browser 163

Seeing how the push cache works 163

Refusing pushes with RST_Stream 166

5.4 How to push conditionally 167

Tracking pushes on the server side 167

Using HTTP conditional requests 168

Using cookie-based pushes 168

Using cache digests 169

5.5 What to push 170

What can you push? 170

What should you push? 171

Automating push 172

5.6 Troubleshooting HTTP/2 push 173

5.7 The performance impact of HTTP/2 push 175

5.8 Push versus preload 176

5.9 Other use cases for HTTP/2 push 179

6 Optimizing for HTTP/2 182

6.1 What HTTP/2 means for web developers 183

6.2 Are some HTTP/1.1 optimizations now antipatterns? 184

HTTP/2 requests still have a cost 184

HTTP/2 isn't limitless 187

Compression is more efficient for larger resources 189

Bandwidth limitations and resource contention 191

Sharding 192

Inlining 193

Conclusion 193

6.3 Web performance techniques still relevant under HTTP/2 194

Minimizing the amount of data transferred 194

Using caching to prevent resending data 202

Service workers can further reduce load on the network 206

Don't send what you don't need 206

HTTP resource hints 207

Reduce last-mile latency 209

Optimize HTTPS 209

Non-HTTP-related web performance techniques 212

6.4 Optimizing for both HTTP/1.1 and HTTP/2 212

Measuring HTTP/2 traffic 213

Detecting HTTP/2 support on the server side 214

Detecting HTTP/2 support on the client side 217

Connection coalescing 218

How long to optimize for HTTP/1.1 users 220

Part 3 Advanced HTTP/2 223

7 Advanced HTTP/2 concepts 225

7.1 Stream states 226

7.2 Flow control 229

Example of flow control 230

Setting flow control on the server 234

7.3 Stream priorities 234

Stream dependencies 235

Stream weighting 238

Why does prioritization need to be so complicated? 241

Prioritization in web servers and browsers 241

7.4 HTTP/2 conformance testing 245

Server conformance testing 245

Client conformance testing 247

8 HPACK header compression 249

8.1 Why is header compression needed? 249

8.2 How compression works 251

Lookup tables 252

More-efficient encoding techniques 252

Lookback compression 254

8.3 HTTP body compression 255

8.4 HPACK header compression for HTTP/2 257

HPACK static table 258

HPACK dynamic table 259

HPACK header types 259

Huffman encoding table 265

Huffman encoding script 266

Why Huffman encoding isn't always optimal 268

8.5 Real-world examples of HPACK compression 268

8.6 HPACK in client and server implementations 275

8.7 The value of HPACK 277

Part 4 The future of HTTP 279

9 TCP, QUIC, and HTTP/3 281

9.1 TCP inefficiencies and HTTP 282

Setup delay in creating an HTTP connection 283

Congestion control inefficiencies in TCP 284

Effect of TCP inefficiencies on HTTP/2 293

Optimizing TCP 297

The future of TCP and HTTP 302

9.2 QUIC 303

Performance benefits of QUIC 304

QUIC and the internet stack 305

What UDP is and why QUIC is built on it 306

Standardizing QUIC 309

Differences between HTTP/2 and QUIC 311

QUIC tools 313

QUIC implementations 314

Should you use QUIC? 315

10 Where HTTP goes from here 317

10.1 Controversies of HTTP/2 and what it didn't fix 318

Arguments against SPDY 318

Privacy issues and state in HTTP 320

HTTP and encryption 324

Transport protocol issues 327

HTTP/2 is far too complicated 331

HTTP/2 is a stopgap 332

10.2 HTTP/2 in the real world 333

10.3 Future versions of HTTP/2 and what HTTP/3 or HTTP/4 may bring 334

Is QUIC HTTP/3? 334

Evolving the HTTP binary protocol further 335

Evolving HTTP above the transport layer 335

What would require a new HTTP version? 338

How future versions of HTTP might be introduced 339

10.4 HTTP as a more generic transport protocol 339

Using HTTP semantics and messages to deliver nonweb traffic 339

Using the HTTP/2 binary framing layer 341

Using HTTP to start another protocol 341

Appendix: Upgrading common web servers to HTTP/2 346

Index 374

From the B&N Reads Blog

Customer Reviews