Как работает gzip compression в Go?

Middle
490 просмотров
AFK Offer AI

В стандартной библиотеке есть compress/gzip. Для сжатия создаёшь gzip.NewWriter(w) и пишешь в него — он сжимает данные на лету и пишет в нижележащий writer. Для распаковки — gzip.NewReader(r) и читаешь из него. Важно вызвать Close() у writer, иначе данные не дозапишутся. Для HTTP — в middleware оборачиваешь ResponseWriter в gzip.Writer и ставишь заголовок Content-Encoding: gzip. Уровень сжатия настраивается от BestSpeed до BestCompression. В проде обычно gzip делает nginx, а не Go.

Следующий вопрос

Что такое air (live reload)?