Почему nginx не проверяет местоположение, соответствует ли uri регулярному выражению перед проверкой префикса? - PullRequest
1 голос
/ 24 октября 2019

через документ nginx

Чтобы найти местоположение, соответствующее заданному запросу, nginx сначала проверяет местоположения, определенные с помощью префиксных строк (префиксных местоположений). Среди них местоположение с самым длинным совпадающим префиксом выбирается и запоминается. Затем проверяются регулярные выражения в порядке их появления в файле конфигурации. Поиск регулярных выражений заканчивается при первом совпадении, и используется соответствующая конфигурация. Если совпадения с регулярным выражением не найдено, то используется конфигурация расположения префикса, запомненного ранее.

Почему местоположение nginx не проверяет, соответствует ли регулярное выражение uri перед проверкой префикса? и я думаю, что это быстрее, чем сейчас?

1 Ответ

1 голос
/ 24 октября 2019

Я не могу сказать, почему разработчики внедрили Nginx каким-либо конкретным способом, но ...

Проверка префикса оптимизирована, чтобы быть очень быстрой.

И, если определено locationво время проверки префикса помечается модификатором ^~ , сканирование регулярных выражений больше не требуется.

...