私は以下の機能を持つキャッシングライブラリを使用しています。 5行目のリクエストからeTagsを取得しようとしていますが、eタグは決して設定されません。Etags HTTPヘッダーを理解します
いつREQUESTにeTagsがありますか?どのように設定するのですか?
ありがとうございました。
public function isNotModified(Request $request)
{
$lastModified = $request->headers->get('If-Modified-Since');
$notModified = false;
if ($etags = $request->getEtags()) {
$notModified = (in_array($this->getEtag(), $etags) || in_array('*', $etags)) && (!$lastModified || $this->headers->get('Last-Modified') == $lastModified);
} elseif ($lastModified) {
$notModified = $lastModified == $this->headers->get('Last-Modified');
}
if ($notModified) {
$this->setNotModified();
}
return $notModified;
}
[ETag](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19)応答ヘッダーフィールドのみの場合: "ETag応答ヘッダーフィールドは、要求されたバリアントのエンティティタグ " – Gumbo
関連:http://stackoverflow.com/questions/5081397/understand-if-modified-since-http-headerそして、実際には、ETagは応答ヘッダーにのみ表示されます。あなたの他の質問に答えられたように、リクエストのcontra-headerは 'If-None-Match'です。 – BalusC