Это промежуточное программное обеспечение работает, беря на себя все способы записи в поток response
, такие как res.end()
, res.write()
, и c .., а затем сжимает данные, которые вы отправляете этими методами, прежде чем они пойдут. по сети. Прелесть открытого исходного кода в том, что вы можете просто go посмотреть исходный самостоятельно и увидеть, что именно он делает.
Итак, он сжимает ответ, который ваш сервер отправляет клиенту. . «Ставить как можно выше» означает, что для данного ответа он будет сжимать только ответы, отправленные ПОСЛЕ того, как это промежуточное ПО запускается для этого запроса.
Итак, если у вас был обработчик запросов или промежуточное программное обеспечение, которое отправляло ответ обратно клиенту, и этот обработчик запроса или промежуточное программное обеспечение выполнялись (в этом конкретном c запросе) до запуска этого compression
промежуточного программного обеспечения, тогда ПО промежуточного слоя compression
еще не подключено и не сможет выполнить сжатие по этому запросу. Таким образом, вы бы поместили это промежуточное ПО перед любым другим промежуточным ПО или обработчиками запросов, которые вы хотите, чтобы отправляемый ими ответ был сжат. Он перехватывает каждый входящий запрос. Поэтому вы должны убедиться, что он подключился, прежде чем отправлять ответ. В противном случае ваш ответ будет отправлен до того, как будет задействовано сжатие (и ваш ответ не будет сжат).