HTTP Request Count Budget

Set and track HTTP request count budgets for web pages. Learn how request count impacts performance on HTTP/1.1 vs HTTP/2, waterfall effects, and strategies for request reduction through bundling and sprites.

Network Budgets

Detailed Explanation

HTTP Request Count Budgets

While HTTP/2 multiplexing has reduced the per-request overhead compared to HTTP/1.1, request count still matters. Each request adds DNS, TCP, and TLS overhead, and too many concurrent requests can saturate bandwidth on slow connections.

Request Count Recommendations

Site Type Max Requests
Blog/Content 20-30
Landing Page 15-25
E-commerce 30-50
SPA (initial) 25-40
Dashboard 30-60

HTTP/2 Does Not Eliminate the Problem

HTTP/2 multiplexing allows many requests over a single connection, but:

  • Each request still requires header overhead (compressed with HPACK)
  • Browser limits concurrent streams (typically 100 per connection)
  • Third-party requests go to different origins (no multiplexing benefit)
  • Each request triggers server processing overhead
  • Many small files can be less efficient than fewer larger files for caching

Types of Requests to Track

Add each of these as resource entries:

  1. Document — The HTML page itself
  2. Stylesheets — CSS files
  3. Scripts — JavaScript files (first-party and third-party)
  4. Images — Individual image files
  5. Fonts — Font files (WOFF2)
  6. XHR/Fetch — API calls made during page load
  7. Other — Favicons, manifests, source maps

Request Reduction Strategies

  • Bundling — Combine multiple JS/CSS files (but preserve code-splitting benefits)
  • Image sprites — Combine small icons into a single sprite sheet
  • Inline critical resources — Inline critical CSS and small SVG icons
  • Data URIs — Embed tiny images (< 2 KB) as base64 in CSS
  • Preconnect — Use <link rel="preconnect"> to eliminate connection overhead for known origins
  • HTTP/2 Push — Server push critical resources (use carefully, being deprecated in favor of Early Hints)

Waterfall Analysis

Request count budgets work best when combined with waterfall analysis. Even 30 requests can be fine if they load in parallel, but 10 requests in a serial chain (each waiting for the previous) will be slow.

Use Case

Request count budgets are particularly important for sites with many third-party integrations. Each analytics script, ad network, and social widget brings its own cascade of subrequests. A single chat widget may trigger 10+ additional requests for its own scripts, styles, and API calls. Tracking total request count prevents this from spiraling out of control.

Try It — Performance Budget Tracker

Open full tool