Saltar al contenido
🛠️ToolsShed

HTTP Cache Header Generator

Construye visualmente encabezados Cache-Control con directivas explicadas.

Encabezado Generado

Cache-Control: (none)

Preestablecidos

Acerca de esta herramienta

El encabezado Cache-Control es una parte fundamental del almacenamiento en caché HTTP que controla cómo los navegadores, CDN y proxies almacenan y reutilizan contenido. Configurarlo correctamente es esencial para el rendimiento web — configurarlo incorrectamente puede hacer que se sirva contenido obsoleto a los usuarios o provocar carga innecesaria del servidor por fallos de caché. Sin embargo, la sintaxis es compleja, y las interacciones entre múltiples directivas a menudo confunden incluso a desarrolladores experimentados.

Esta herramienta proporciona un constructor visual para encabezados Cache-Control, permitiéndole activar y desactivar directivas individuales y ver el encabezado generado en tiempo real. En lugar de memorizar sintaxis como `public, max-age=3600, s-maxage=7200, stale-while-revalidate=86400`, selecciona opciones a través de una interfaz intuitiva y copia el encabezado final directamente en sus respuestas HTTP. Las plantillas preestablecidas para escenarios comunes — activos estáticos, puntos finales API, páginas HTML y contenido cacheado por CDN — inician su configuración sin necesidad de adivinanzas.

Los desarrolladores web, ingenieros DevOps y especialistas en backend encontrarán esta herramienta invaluable para depurar problemas de caché, configurar políticas de almacenamiento en caché de CDN o aprender cómo interactúan las diferentes directivas. El encabezado generado se puede copiar directamente en sus respuestas de servidor (Express.js, FastAPI, Java, Go, etc.), eliminando errores de transcripción manual y acelerando la implementación de estrategias de almacenamiento en caché.

Preguntas Frecuentes

Implementación de Código

from flask import Flask, make_response, send_file
import hashlib
import time

app = Flask(__name__)

@app.route('/static/asset')
def serve_immutable_asset():
    """Cache forever — content-hashed file (e.g., bundle.abc123.js)"""
    response = make_response("asset content")
    response.headers['Cache-Control'] = 'public, max-age=31536000, immutable'
    return response

@app.route('/api/data')
def serve_api_data():
    """Short-lived private API response with ETag"""
    data = "dynamic content"
    etag = hashlib.md5(data.encode()).hexdigest()

    response = make_response(data)
    response.headers['Cache-Control'] = 'private, max-age=60'
    response.headers['ETag'] = f'"{etag}"'
    return response

@app.route('/page')
def serve_page():
    """HTML page: always check freshness, cache 10 minutes"""
    response = make_response("<html>...</html>")
    response.headers['Cache-Control'] = 'public, max-age=600, must-revalidate'
    response.headers['Last-Modified'] = 'Mon, 01 Jan 2024 00:00:00 GMT'
    return response

@app.route('/auth')
def serve_auth_page():
    """Never cache sensitive pages"""
    response = make_response("sensitive content")
    response.headers['Cache-Control'] = 'no-store'
    return response

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.