Есть ли какая-либо причина, реальная или теоретическая, по которой:
location ~* ^.+\.js$ {
access_log off;
log_not_found off;
expires max;
}
будет предпочтительнее:
location ~* \.js$ {
access_log off;
log_not_found off;
expires max;
}
Я спрашиваю, потому что большинство время я вижу примеры Nginx, использующие конфигурацию второго блока. Но иногда я также вижу, что первый блок используется вместо второго. Фактически, многие примеры на nginx.com, похоже, используют конфигурацию первого блока вместо второго.
Насколько я могу сказать, единственная реальная разница состоит в том, что первый блок пропускает поиск для новой строки (\ n) при сопоставлении местоположений, возможно , что делает его более эффективным.
Читаемость - это хорошо, но производительность лучше.
Может ли кто-нибудь привести аргумент в пользу выбора одной конфигурации над другой, поскольку они кажутся почти идентичными с точки зрения функций?
На выполнение первого регекса уходит немного больше времени, но на современных процессорах время будет довольно тривиальным.
Но первый регекс будет не совпадать с файлом с именем .js
. Второй регекс будет соответствовать файлу с именем .js
.