vcl_hash
キャッシュを取り出すときに呼ばれるキーを追加するために使用
vcl_recv の後、または他のサブルーチンが hash アクションキーワードを返したときに呼ばれる code:vcl
sub vcl_hash {
hash_data(req.url);
if (req.http.host) {
hash_data(req.http.host);
} else {
hash_data(server.ip);
}
return(lookup)
}
キャッシュされたオブジェクトに使用されるハッシュキーを定義
デフォルトのキー
ホスト名または IP アドレス、および要求された URL
lookup オペレーションがどのハッシュにもマッチしない場合、ビジーフラグを持つオブジェクトを生成し、キャッシュに挿入
リクエストが処理されるとビジーフラグは解除され、オブジェクトはバックエンドからのレスポンスで更新される
Fastly
デフォルトでは req.url と req.http.host
HTTP ホストヘッダーの値は req.http.host に割り当てる前に小文字に変換される
req.url は正規化の対象ではないので注意が必要