RFC 8594: The Sunset HTTP Header Field
19 July, 2026 - Tags: TIL, web
最近在解 issue 的時候,發現了 RFC 8594,他是關於 server 如何告知 client 端 HTTP 資源生命週期的標準。在這份 RFC 裡面列舉了 Temporary Resources, Migration, Retention 跟 Deprecation 幾種可能情境,但總之就是透過 Sunset 這個 header 來告訴 client 說目前這項資源預期在什麼時間點之後不可用。除了這個 header 以外,RFC 8288: Web Linking 中還有定義 sunset 這個 relation type,所以在 API 回傳時可以給一個 Link header 來告知 client 該資源的 sunset policy,這點在 ASP.NET 中居然有被實作。目前為止 RFC 的編號已經來到一萬多了,我覺得裡面應該有很多這種沒想到有標準定義的東西,像是 RFC 9457: Problem Details for HTTP APIs 也是蠻神奇的,在描述除了 status code 以外,server 端可以如何告知 client 發生的問題細節。
Update (2026-07-29)
後來某天我又看到 RFC 9745: The Deprecation HTTP Response Header Field,基本上跟 Sunset 差不多,定義了一個會填入時間的 header 以及 link relation type,主要差別在 Deprecation 不表示這個 resource 不可用,但 Sunset 給出的時間點是表示 resource 不可用的時機,因此 Sunset 的值一定不會早於當前時間。