Алгоритмы сжатия трафика в современных браузерах работают следующим образом: 1
- Браузер, умеющий работать со сжатыми данными, при запросе указывает заголовок, например: Accept-Encoding: gzip, deflate, br. 1
- Веб-сервер, сконфигурированный на работу со сжатыми данными, смотрит на этот заголовок. 1
- Если сервер совместим с алгоритмами, объявленными выбранным браузером, он использует один из них для сжатия тела ответа. 4
- Веб-сервер включает в свой ответ специальный заголовок с именем Content-Encoding, который сообщает браузеру, какой алгоритм он использовал. 4
- По этому заголовку браузер понимает, как распаковать данные. 1 Если общего формата сжатия нет, то сервер отвечает без заголовка Content-Encoding и просто отправляет сырые данные. 1
Алгоритмы сжатия анализируют повторяющиеся последовательности данных и заменяют их короткими символами, создавая «упакованный» файл, который занимает меньше места. 3 Когда сжатый файл достигает устройства пользователя, он «распаковывается» до исходного состояния и отображается без потери качества. 3