Есть нормализованная переменная $uri, но нет нормализованной $args, но она реально нужна, попробую объяснить.
Наш ключ к кешу и REQUEST_URI к бекенду = $uri$is_args$args, нормализованный $uri очень удобен, но не нормализованный $args создает проблемы - дубликаты в кеше и флуд на бекенд. Например в наших логах, есть такие запросы: /?id=1&id=100 /?id=2&id=100 /?id=3&id=100 Как видите, перемененная id указанна два раза, в РНР будет значения $_GET["id"] = 100, эти запросы генерят боты, возможно это оплаченный HTTP флуд, все эти запросы идут на бекенд, отрабатывается бизнес логика по id=100, кеш пухнет, бекенд нагружен флудом. Сейчас мы на бекенде нормализуем QUERY_STRING и делаем редирект, но правильней если бы ответ брался из кеша Nginx, для этого нужно чтобы в ключе кеша был нормализованный $args. Кроме ботов, есть ещё много случаев, например разный способ юрл кодировки /?q=мир+май /?q=мир%20;май /?q=мир май // UTF-8 Разная последовательность одинаковых параметров: /?sort=desc&filter=price /?filter=price&sort=desc /?filter=price&sort=desc& Это все уменьшает эффективность кеша. Будет очень полезно если $args станет нормализованным, а в $query_string оставить первоначальное значения, тогда каждый сможет использовать то что ему нужно. Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259474,259474#msg-259474 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru