Что делает установка Content-Encoding на true?

Я наткнулся на эту строку в некотором PHP-коде, который я унаследовал:

header('Content-Encoding: ', true);

Просмотр документов MDN для Content-Encoding ‘true’ не является допустимым значением. Он ожидает что-то вроде gzip или deflate, не правда.

Я также посмотрел и не вижу никакого особого поведения в PHP, если вы установите для него значение true.

Однако в коде, который я смотрю на эту строку, есть следующий эффект: он заставляет файл, который выводится, быть заархивирован. Он также добавляет пустой заголовок Content-Encoding к заголовкам ответа http. Последнее я понимаю — первое нет.

Здесь есть некоторое взаимодействие с использованием PHP ob_gzhandler (), который был вызван и уже правильно установил заголовок Content-Encoding правильно на gzip.

Если я закомментирую эту строку, файл не будет заархивирован.

Похоже, что происходит, это:

ob_gzhandler() устанавливает заголовок Content-Encoding на gzip. Затем следующая строка: header('Content-Encoding: ', true) — который называется после ob_end_clean() каким-то образом активирует предыдущую настройку — но без этого предварительная настройка ob_gzhandler не «активируется». Имеет ли это смысл?

В основном — почему кто-то хочет сделать:

header('Content-Encoding: ', true);?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …