Я делаю начальный вывод в своем приложении на основе синтаксического анализа пользовательского агента ... который в основном разбивает рендеринг запроса, поэтому начальный рендеринг будет соответствовать размерам начальной загрузки "xs", "sm", "md", "lg" ...
У меня есть свои регулярные выражения, разработанные так, что мобильные устройства будут отображать вывод для "xs", а обычные планшеты будут получать "sm" по умолчанию, а кто-то другой получит "md" ... после привязки на стороне клиента он будет настроен на фактический дисплей устройства, это в основном для того, чтобы браузеры получали нужный размер.
Я хочу уметь:
X-Initial-Size
- «xs», «sm», «md», «lg» (реально ничего не разрешается в «lg»X-Is-Human
- матч против известных ботов для обнаруженияX-Browser-Class
- «древний», «современный», «т.е. #» (только IE <= 9)X-Initial-Size
и X-Browser-Class
так как vary-by
params для длительного кэширования вывода на стороне сервера.- Как установить пользовательские переменные на основе регулярного выражения для агента пользователя?
Использовать карта. Например :
map $http_user_agent $my_var {
default "default_value";
"~^foo$" "value_1";
"~^bar$" "value_2";
}
- Как мне установить собственные заголовки для запроса обратного прокси?
Использовать proxy_set_header. Например :
proxy_set_header My-Header $my_var;
- Как использовать эти значения в качестве параметров кеширования?
Определите эти дополнительные заголовки как часть вашего ключ кеширования прокси :
proxy_cache_key $scheme$request_uri-$http_my_header-$http_my_other_header