NestJS redirect cache

2022-06-08
2022-06-09

なぜかHTMLが返却されているのに、console.log()が表示されていない場合は、cacheを疑う。

ts
@Get('/redirect') @Header('Cache-Control', 'none') // 👈追加 @Redirect('*', HttpStatus.TEMPORARY_REDIRECT) public async redirectFunc() { ... console.log('Hello') return { url } }

https://docs.nestjs.com/controllers https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Cache-Control

Chromeの場合、must-understandが無いと、キャッシュされてしまう。要調査が必要。

ts
@Header('Cache-Control', 'must-understand, no-store, no-cache, max-age=0')

Firefox, Edgeだと下記でもキャッシュされない。

ts
@Header('Cache-Control', 'no-store, no-cache, max-age=0')

redirectのcacheの削除

chacheを明示的に削除

https://zenn.dev/phi/articles/clear-301-redirect-cache-by-chrome

一時的な削除

Chrome DEV tool でネットワークタブから、キャッシュを無効化を選択

Statusコード

https://developer.mozilla.org/ja/docs/Web/HTTP/Redirections

302 Found:302 Foundは、要求されたリソースが一時的に新しいURLに移動されたことを意味します。今後のリクエストでは、訪問者が同じURLを使用する必要があります。

https://www.geeksforgeeks.org/http-status-codes-redirection-responses/

302を使用するのが良さそう

Cache-Control