Aller au contenu
🛠️ToolsShed

HTTP Cache Header Generator

Construire visuellement les en-têtes Cache-Control avec directives expliquées.

En-tête généré

Cache-Control: (none)

Préréglages

À propos de cet outil

L'en-tête Cache-Control est une partie fondamentale de la mise en cache HTTP qui contrôle comment les navigateurs, les CDN et les proxys stockent et réutilisent le contenu. Le configurer correctement est essentiel pour les performances web — une mauvaise configuration peut entraîner la diffusion de contenu obsolète aux utilisateurs ou une charge serveur inutile résultant des défauts de cache. Cependant, la syntaxe est complexe, et les interactions entre plusieurs directives confondent souvent même les développeurs expérimentés.

Cet outil fournit un générateur visuel pour les en-têtes Cache-Control, vous permettant de basculer les directives individuelles et de visualiser l'en-tête généré en temps réel. Au lieu de mémoriser une syntaxe comme `public, max-age=3600, s-maxage=7200, stale-while-revalidate=86400`, vous sélectionnez des options via une interface intuitive et copiez l'en-tête final directement dans vos réponses HTTP. Les modèles prédéfinis pour les scénarios courants — ressources statiques, points de terminaison API, pages HTML et contenu en cache CDN — amorçent votre configuration sans deviner.

Les développeurs Web, les ingénieurs DevOps et les spécialistes backend trouveront cet outil inestimable pour déboguer les problèmes de cache, configurer les politiques de mise en cache CDN ou apprendre comment les différentes directives interagissent. L'en-tête généré peut être copié directement dans vos réponses de serveur (Express.js, FastAPI, Java, Go, etc.), éliminant les erreurs de transcription manuelle et accélérant la mise en œuvre de la stratégie de cache.

Questions Fréquentes

Implémentation du Code

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.