Serve hashed /_next/static/* as immutable in public/_headers
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 67/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- next.js, typescript
- 領域
- devops
調査の方向性
public/_headers を読み、既存のキャッシュルールを確認します。out/ 内の /_next/static/ 以下にあるビルド済みパスを調べ、コンテンツハッシュが付いていることを確認します。次に、提案されたルールを追加し、デプロイ後に curl -sI で Cloudflare Pages がそのルールを適用していることを検証します。ハッシュ付きアセットに不変の1年間のポリシーが適用され、列挙された HTML ファイルとメタデータファイルが現在のキャッシュなしの動作を維持すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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
_headersCache-Controloverride its default for these paths (Pages docs; verify withcurl -sIafter deploy). - Confirm nothing un-hashed lives under
/_next/static/inout/.next/fontfiles under/_next/static/media/are hashed too. - Keep the HTML,
robots.txt,sitemap*.xmlandllms*.txtuncached as they are.
- 主要言語
- TypeScript
- スター
- 3
- フォーク
- 0
- 平均マージ
- 12時間 41分
- マージ済み PR(30日)
- 70
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
decdn/website のほかの issue
-
bug med-priority
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
enhancement low-priority
難易度 4/5 1〜2日 初心者へのやさしさ 35/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 1〜2日 初心者へのやさしさ 54/100
メンテナーはふだん 1 日以内に返信
-
enhancement low-priority
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
decdn/website#268 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
phivk/rubiks-lab#33 ·
メンテナーはふだん 1 日以内に返信
-
BUG:Edit Album strips spaces from the password so albums with a leading/trailing space in the password can't be edited対応中かも @ManyaJain111 が今日担当しました。 オープンbug enhancement possible-duplicate
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
AOSSIE-Org/PictoPy#1637 · コメント 4 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
chaitin/MonkeyCode#1437 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
area:cards enhancement migration ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
fil-donadoni/tolaria#6309 ·
メンテナーはふだん 1 日以内に返信