HTTP Cache Header Generator — Optimize Browser & CDN Caching
Generate Cache-Control, Vary, and ETag headers for web and API responses. Select a caching strategy (public, private, no-cache, no-store), set browser and CDN TTLs, and configure advanced directives like stale-while-revalidate. Outputs ready-to-use snippets for nginx, Express.js, and Apache.
How to Use HTTP Cache Header Generator — Optimize Browser & CDN Caching
How to Use the HTTP Cache Header Generator:
Choose a Preset: Click a preset card to load a pre-configured caching policy. Available presets include HTML pages (short public cache), versioned assets (immutable for 1 year), CDN with fallback (short browser TTL, long CDN TTL), API response (private, must-revalidate), stale-while-revalidate, and no-cache for sensitive data.
Select a Cacheability Scope: Choose the top-level directive that controls who can cache the response. Public allows CDN and proxy servers to cache it. Private restricts caching to the end-user browser only. No Cache allows caching but requires revalidation before each use. No Store prevents any caching entirely.
Set the Browser TTL (max-age): Click a preset duration button (0s, 1m, 5m, 1h, 1d, 7d, 30d, 1yr) or type a custom value in seconds. The human-readable equivalent is displayed alongside the value.
Set a CDN TTL (s-maxage): Tick the CDN / proxy TTL checkbox to add an s-maxage directive that overrides max-age for shared caches such as CDNs. A CDN TTL longer than the browser TTL (e.g. max-age=300, s-maxage=86400) lets CDNs cache aggressively while keeping browser caches short.
Configure Advanced Directives: Enable immutable for fingerprinted static assets that will never change during their TTL. Use must-revalidate to prevent serving expired entries. Enable stale-while-revalidate with a window (in seconds) to serve stale content while refreshing in background. Enable stale-if-error to serve stale content when the origin returns a 5xx error.
Configure the Vary Header: Select which request headers the response varies by. Accept-Encoding is recommended for all compressed responses. Add Authorization when responses are user-specific. Add Origin for CORS-aware CDN caching.
Set ETag Type: Choose Strong (exact match, default), Weak (W/"…" prefix, approximate match), or None to omit ETags entirely. Immutable assets rarely need ETags since they are fingerprinted.
Copy the Output: The Cache-Control and Vary values are shown as coloured pills for quick reading. Click a tab (HTTP Headers, nginx, Express, Apache) to view the corresponding code snippet and click Copy to copy it.
Common Use Cases:
- Versioned static assets: Use the Versioned assets preset to get Cache-Control: public, max-age=31536000, immutable for fingerprinted JS/CSS/fonts.
- HTML documents: Use HTML pages preset — short max-age with must-revalidate so browsers always serve fresh HTML.
- API endpoints: Use the API response preset — private, max-age=0, must-revalidate prevents shared caches and ensures freshness.
- CDN-fronted APIs: Use CDN with fallback — short browser TTL keeps user data fresh while CDNs cache longer and serve stale during revalidation.
- Sensitive pages: Use No Cache or No Store for login pages, payment forms, and personal dashboards.
Frequently Asked Questions
Most Viewed Tools
Screen Size Converter — Diagonal Dimension Tool
Calculate screen width and height from diagonal size and aspect ratio. Convert between inches and centimeters for displays, TVs, and monitors with instant dimension calculations.
Use Tool →TOTP Code Generator — 2FA Testing Tool
Generate time-based one-time passwords from a TOTP secret key. Enter your base32 secret, choose a period and digit length, and get the current and next codes with a live countdown timer. Useful for testing and debugging 2FA integrations.
Use Tool →JSON to Zod — Schema Generator
Generate Zod validation schema code from a JSON sample object. Infers z.string(), z.number(), z.boolean(), z.array(), z.object(), and z.null() types automatically. Handles nested objects, arrays of objects with optional field detection, and outputs copy-ready TypeScript with import and z.infer type alias.
Use Tool →JSONL Formatter — Line-by-Line Validator
Format, validate, and inspect JSON Lines (JSONL) and NDJSON files. Validates each line individually, reports parse errors by line number, outputs compact JSONL or a pretty-print preview, and lets you download the cleaned file.
Use Tool →TLS Cipher Suite Checker — Strength Analyzer
Check TLS protocol version compatibility and cipher suite strength ratings against current best practices. Supports IANA and OpenSSL cipher names — rates each suite as Strong, Weak, or Deprecated and explains why.
Use Tool →Password Entropy Calculator — Crack Time Estimator
Calculate the information-theoretic bit entropy of any password or API key. Detects character set pools automatically, shows the total number of possible combinations, and estimates crack time across five attack scenarios from rate-limited web logins to GPU cracking clusters.
Use Tool →Secret Scanner — API Key & Credential Detector
Scan pasted text, code, or config files for accidentally exposed API keys, tokens, passwords, and private keys. Detects 50+ secret types across AWS, GitHub, Stripe, OpenAI, and more — all client-side, nothing leaves your browser.
Use Tool →DPI Calculator — Print Resolution Tool
Calculate DPI (dots per inch), image dimensions, and print sizes. Convert between pixels and physical dimensions for printing and displays.
Use Tool →Related API & Backend Tools
REST Endpoint Documenter — Markdown Doc Generator
Document a REST endpoint quickly by entering the URL, method, headers, and sample request/response. Generates formatted Markdown documentation and an example cURL command instantly.
Use Tool →OpenAPI Mock Generator — Turn API Specs into Live Mock Servers
Paste an OpenAPI 3.x or Swagger 2.0 spec, select any endpoint, and instantly get a realistic mock request body and response matching the defined schemas. Also generates a ready-to-run cURL command.
Use Tool →Webhook Retry Config Calculator — Simulate Exponential Backoff & Jitter
Configure exponential backoff parameters and preview the full retry schedule for webhook delivery. Enter max attempts, initial delay, multiplier, jitter, and a max delay cap to instantly see each retry timestamp, cumulative elapsed time, jitter range, and which delays hit the cap. Supports presets for standard, aggressive, conservative, Stripe-style, and fixed-interval retry policies. Free and runs entirely in your browser.
Use Tool →HTTP Retry Policy Builder — Configure Resilient API Client Logic
Configure max retries, initial delay, backoff multiplier, jitter, max delay cap, and retryable HTTP status codes to instantly generate ready-to-use retry policy code for Axios (with axios-retry), native Fetch API (Node 18+ and node-fetch), and Go net/http. Supports presets for Standard, Aggressive, Conservative, and Rate-Limit Aware policies. All code is generated in your browser — free, instant, no signup.
Use Tool →CORS Header Generator — Cross-Origin Config Tool
Build CORS configuration headers interactively for web servers and APIs. Set allowed origins, methods, request headers, credentials, and preflight cache duration — then copy the generated Access-Control headers or ready-to-paste code snippets for nginx, Express.js, Flask, and .NET.
Use Tool →OAuth Token Validator — JWT & OIDC Decoder
Validate and inspect OAuth tokens in your browser. Decode JWT access tokens and ID tokens to view claims, scopes, and expiry. Analyse opaque tokens for entropy and format. Free and private.
Use Tool →AMQP Exchange Configuration Simulator — Map Routing Keys and Queue Bindings
Generate RabbitMQ channel declaration code for Node.js (amqplib) and Python (pika). Select an exchange type, configure durability and options, add queue bindings with routing keys, and instantly get production-ready assertExchange and bindQueue calls. Supports all four exchange types: direct, fanout, topic, and headers. Four presets cover the most common RabbitMQ patterns. Free and runs entirely in your browser.
Use Tool →API Tester — In-Browser REST Client
Test HTTP API endpoints directly in your browser. Make GET, POST, PUT, PATCH, and DELETE requests with custom headers and request bodies. View status codes, response headers, and pretty-printed JSON responses — all client-side, no server proxy.
Use Tool →Share Your Feedback
Help us improve this tool by sharing your experience