Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Serve hashed /_next/static/* as immutable in public/_headers

Aperta Adatta ai principianti
#332 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
67/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
next.js, typescript
Ambito
devops

Direzione di ricerca

Leggi public/_headers ed esamina le regole di cache esistenti. Controlla i percorsi generati in out/ sotto /_next/static/ per confermare che abbiano hash basati sul contenuto. Poi aggiungi la regola proposta e verifica con curl -sI, dopo il deployment, che Cloudflare Pages la applichi. Il lavoro è completato quando gli asset con hash ricevono la policy immutabile di un anno e i file HTML e di metadati elencati mantengono il comportamento attuale senza cache.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Current

Cloudflare Pages serves the content-hashed build assets with its default policy:

$ curl -sI https://decdn.org/_next/static/chunks/101w7am0t3tuy.css | grep -i cache-control
cache-control: public, max-age=14400, must-revalidate

The JS chunks are the same. On every reload the browser revalidates the stylesheet with a conditional request before it can apply it. That round-trip is the window in which Firefox has been seen painting the page unstyled (#331). It also adds a revalidation per asset on repeat visits after 4 h.

Proposal

Add a rule to public/_headers:

/_next/static/*
  Cache-Control: public, max-age=31536000, immutable

Next's /_next/static/ filenames change with their content, so a long-lived immutable cache is safe. A deploy that changes the CSS emits a new filename, and the HTML (still max-age=0, must-revalidate) points at it.

Checks

  • Confirm Cloudflare Pages lets a _headers Cache-Control override its default for these paths (Pages docs; verify with curl -sI after deploy).
  • Confirm nothing un-hashed lives under /_next/static/ in out/. next/font files under /_next/static/media/ are hashed too.
  • Keep the HTML, robots.txt, sitemap*.xml and llms*.txt uncached as they are.
Lingua principale
TypeScript
Stelle
3
Fork
0
Merge medio
12h 41m
PR unite (30g)
70

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di decdn/website

Tutte le issue di decdn/website

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.