2

リバース プロキシと通信するヘッダーを設定してcache-control、一意の uri とは何かを判断する際にクエリ パラメータを無視することは可能ですか?

少なくともサーバー側の観点からは、クエリ パラメータがページのレンダリングとは関係がない場合があります。たとえばutm_*、Google Adwords のすべての変数。これらはページの JavaScript に必要なため、それらを取り除いてキャッシュされたページにリダイレクトしたくはありませんが、同時に、基本的に同じで異なるutm_*パラメータを持つ 2 つの URI を一意のものとして扱わない方が有利です。リバース プロキシと通信する場合。

例:

  1. http://www.example.com/search?sort=price

  2. http://www.example.com/search?sort=price&utm_campaign=shoes

HTTP 1.1 仕様 (つまり、ある種の http ヘッダー) を使用してリバース プロキシに、これら 2 つのページを同じものとして処理できることを伝える方法はありますか?

4

1 に答える 1

1

vcl_recv でクエリ文字列をフィルタリングできます。そのための Varnish モジュールもあります [1]。

また、この場合、クエリ文字列パラメーターの順序が重要であることに注意する必要があります [2]。

この関連する質問も参照してください [3]

[1] https://www.varnish-cache.org/vmod/querystring

[2] http://cyberroadie.wordpress.com/2012/01/05/varnish-reordering-query-string/

[3]選択したクエリ文字列の属性/値のペアを削除して、ワニスがそれらによってキャッシュを変更しないようにします

于 2013-10-04T10:51:37.963 に答える