それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Google Chrome / Apple Safari は 301 リダイレクトやHSTSをずっと保存する!?

301/302 のどっちが良いか調べてて気になった。

HTTS ステータスコード 301 でリダイレクトしたら、その転送結果がキャッシュされて、リダイレクト後に戻ってこれない。

301 のリダイレクトがずっと残るので気になってた。

https://stackoverflow.com/questions/9130422/how-long-do-browsers-cache-http-301s

At least two browsers - Chrome and Firefox - will cache a 301 redirect with no expiry date
FirefoxとChromeの2つに限れば、リダイレクト情報保存に期限はない。
Chrome caches the 301 redirect infinitely, or until you open your DevTools, check Disable cache (while DevTools is open), and reload the page.

などと書いてあって、ステータスコード301はリダイレクトで乱用すると、キャッシュで面倒なことになりそう。

いちおう、キャッシュさせないように Cache-control でも制御できるみたい。 まぁ301を使うことは、サイト移転以外にあまりないと思うんけど、知って損にはならなさそう。

HSTSはどうなのか

HSTS もリダイレクトがキャッシュされて、開発中にSSLでトラブったり切替え時にアレコレすると、わりと面倒なことになる。

コッチも調べてみたら、有効期限を秒数で指定できるようでした。

Strict-Transport-Security:max-age=$int;includeSubDomains