🐘
【Rails】fresh_when について簡単に解説する
概要
以前の記事で stale? メソッドについて解説しました。
今回はその中で使われている fresh_when メソッドについて簡単に解説します。
fresh_when とは
fresh_when メソッドは引数で受け取った etag や last_modified からレスポンスを作成し、
そのレスポンスとリクエストを比較して、リクエストが最新(fresh)であれば head :not_modified で304のステータスコードとレスポンスヘッダーを返すようにしています。
stale? は上記の fresh_when でステータスコードとレスポンスヘッダーを作成したうえで、
リクエストが最新かどうかを判定して返しています。
まとめるとこんな感じになります。
| レスポンスヘッダの作成 | 戻り値 | |
|---|---|---|
| stale? | する | true/false |
| fresh_when | する | なし |
Discussion