Lewati ke konten
πŸ› οΈToolsShed

HTTP Cache Header Generator

Bangun header Cache-Control secara visual dengan penjelasan direktif.

Header yang Dihasilkan

Cache-Control: (none)

Preset

Tentang alat ini

Header Cache-Control adalah bagian fundamental dari caching HTTP yang mengontrol bagaimana browser, CDN, dan proxy menyimpan dan menggunakan kembali konten. Mengonfigurasinya dengan benar sangat penting untuk performa web β€” konfigurasi yang salah dapat menyebabkan konten usang disajikan kepada pengguna atau beban server yang tidak perlu karena cache miss. Namun, sintaksnya kompleks, dan interaksi antara beberapa direktif sering kali membingungkan bahkan pengembang berpengalaman.

Alat ini menyediakan pembangun visual untuk header Cache-Control, memungkinkan Anda untuk mengalihkan direktif individual dan melihat header yang dihasilkan secara real-time. Alih-alih menghafal sintaks seperti `public, max-age=3600, s-maxage=7200, stale-while-revalidate=86400`, Anda memilih opsi melalui antarmuka intuitif dan menyalin header final langsung ke respons HTTP Anda. Template preset untuk skenario umum β€” aset statis, endpoint API, halaman HTML, dan konten yang di-cache CDN β€” memulai konfigurasi Anda tanpa tebakan.

Pengembang web, insinyur DevOps, dan spesialis backend akan menemukan alat ini sangat berharga untuk menghubungkan masalah cache, mengatur kebijakan caching CDN, atau mempelajari bagaimana direktif yang berbeda berinteraksi. Header yang dihasilkan dapat disalin langsung ke respons server Anda (Express.js, FastAPI, Java, Go, dll.), menghilangkan kesalahan transkripsi manual dan mempercepat implementasi strategi caching.

Pertanyaan yang Sering Diajukan

Implementasi Kode

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.