trim

Директива 'trim' удаляет лишние пробелы и комментарии из HTML-ответов.

Синтаксисtrim on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументы1

Описание

Директива 'trim' в NGINX является частью модуля ngx_http_trim_filter, предназначенного для оптимизации HTML-ответов путем удаления избыточных пробелов (пробелы, табуляции, переносы строк) и комментариев. Этот процесс фильтрации использует машину состояний для разбора HTML, гарантируя, что некоторые элементы — такие как заключённые в теги <pre>, <textarea>, <script> и <style> — сохраняются без изменений. Помимо оптимизации HTML для передачи, он призван сохранять визуальную целостность элементов, где пробелы имеют значение, например внутри JavaScript-кода и CSS-стилей.

Эту директиву можно включить или отключить с помощью синтаксиса trim on; или trim off;, она также принимает переменные, что позволяет динамически настраивать поведение в зависимости от условий в NGINX. Состояние директивы по умолчанию — off, то есть обрезка не будет выполняться, если она явно не указана. Важно, что любой запрос с URL-параметром http_trim=off отключит функцию обрезки, сохранив нефильтрованный HTML-ответ для этого запроса. Поэтому критически важно настраивать обрезку в соответствии с конкретным содержимым и потребностями вашего приложения, тщательно учитывая, какие MIME types получат выгоду от этой оптимизации без ущерба требуемому форматированию.

Пример конфига

location / {
    trim on;
    trim_js on;
    trim_css off;
}

Убедитесь, что директива 'trim' не нарушает элементы, где пробелы необходимы, например в некоторых HTML-тегах.

Будьте осторожны при использовании переменных в директиве 'trim', поскольку они могут приводить к непредвиденному поведению при некорректной конфигурации.

Помните, что эта директива переопределяется, если запрос содержит параметр 'http_trim=off'.

← Ко всем директивам