0%

Book Description

Prepare yourself for building fast and efficient web applications. Take a brief historical tour of the evolution of the HTTP protocol. Understanding of the key design changes of HTTP, and the motivations behind each, will give us the necessary background for our discussions on HTTP performance, especially in the context of the many upcoming improvements in HTTP 2.0.

Table of Contents

  1. Brief History of HTTP
    1. HTTP 0.9: The One-Line Protocol
    2. HTTP/1.0: Rapid Growth and Informational RFC
    3. HTTP/1.1: Internet Standard
    4. HTTP/2: Improving Transport Performance
  2. Primer on Web Performance
    1. Hypertext, Web Pages, and Web Applications
    2. Anatomy of a Modern Web Application
      1. Speed, Performance, and Human Perception
      2. Analyzing the Resource Waterfall
    3. Performance Pillars: Computing, Rendering, Networking
      1. More Bandwidth Doesn’t Matter (Much)
      2. Latency as a Performance Bottleneck
    4. Synthetic and Real-User Performance Measurement
    5. Browser Optimization
  3. HTTP/1.X
    1. Benefits of Keepalive Connections
    2. HTTP Pipelining
    3. Using Multiple TCP Connections
    4. Domain Sharding
    5. Measuring and Controlling Protocol Overhead
    6. Concatenation and Spriting
    7. Resource Inlining
  4. HTTP/2
    1. Brief History of SPDY and HTTP/2
    2. Design and Technical Goals
      1. Binary Framing Layer
      2. Streams, Messages, and Frames
      3. Request and Response Multiplexing
      4. Stream Prioritization
      5. One Connection Per Origin
      6. Flow Control
      7. Server Push
      8. Header Compression
      9. Upgrading to HTTP/2
    3. Brief Introduction to Binary Framing
      1. Initiating a New Stream
      2. Sending Application Data
      3. Analyzing HTTP/2 Frame Data Flow
  5. Optimizing Application Delivery
    1. Optimizing Physical and Transport Layers
    2. Evergreen Performance Best Practices
      1. Cache Resources on the Client
      2. Compress Transferred Data
      3. Eliminate Unnecessary Request Bytes
      4. Parallelize Request and Response Processing
    3. Optimizing for HTTP/1.x
    4. Optimizing for HTTP/2
      1. Eliminate Domain Sharding
      2. Minimize Concatenation and Image Spriting
      3. Eliminate Roundtrips with Server Push
      4. Test HTTP/2 Server Quality
18.224.95.38