Сжатие файлов перед отправкой: уменьшите размер
Узнайте когда и как сжимать файлы перед передачей. Сравните ZIP, RAR и 7z и определите, когда сжатие помогает, а когда вредит.
Сжимайте текст, исходный код, логи, CSV и несжатые форматы изображений вроде .bmp или .tiff перед отправкой — ожидайте уменьшения размера в 3–10 раз. Не сжимайте .jpg, .png, .mp4, .mp3, .docx, .xlsx, .pdf или .zip — они уже сжаты внутри, и второй проход даст максимум 2–3% экономии при значительной нагрузке на CPU. Для объединения множества небольших файлов в одну загрузку используйте .zip в режиме «store» (без сжатия). Для максимальной степени сжатия сжимаемых данных 7z с LZMA2 обычно превосходит .zip на 30–40%. RAR примерно эквивалентен 7z, но требует WinRAR или 7-Zip на стороне получателя — .zip поддерживается везде.
Когда сжатие действительно помогает
Текстовые файлы сжимаются кардинально. Серверный .log-файл размером 10 МБ нередко уменьшается до 800 КБ через .zip (12x) и до 550 КБ через 7z (18x). Сжатие работает, потому что логи содержат высокоповторяющиеся паттерны — временны́е метки, IP-адреса, HTTP-коды статуса — которые алгоритмы сжатия эксплуатируют эффективно.
Аналогично хорошо сжимаются:
- Исходный код: .js, .py, .java, .cs, .go — как правило, 3–5x
- CSV-данные: 4–10x в зависимости от повторяемости содержимого
- JSON/XML: 5–8x из-за повторяющихся имён полей
- Несжатые изображения: .bmp (5–10x), .tiff несжатый (4–8x)
- Базы данных: дампы .sql, SQLite-файлы со свободными страницами (2–4x)
- PSD с плоскими слоями: 2–3x, если внутри не применено RLE-сжатие
Tarball Git-репозитория среднего размера нередко сжимается в 4–5 раз — именно поэтому git archive по умолчанию оборачивает дерево в .tar.gz.
Когда сжатие бесполезно
Уже сжатые форматы не становятся меньше. Данные уже прошли через DEFLATE, H.264, JPEG DCT-квантование или аналогичную схему — энтропия уже близка к теоретическому минимуму.
Файлы, не выигрывающие от сжатия:
- .jpg, .jpeg, .heic: уже применено lossy-сжатие
- .png: встроено DEFLATE-сжатие
- .mp4, .mov, .mkv: уже применено H.264 или H.265
- .mp3, .aac, .flac, .ogg: аудио уже сжато
- .pdf: внутренние потоки объектов обычно сжаты DEFLATE
- .docx, .xlsx, .pptx: это ZIP-архивы XML — повторное сжатие излишне
- .zip, .7z, .rar, .gz, .bz2, .xz: сжатые архивы; второй проход бесполезен
- .apk, .jar, .war: ZIP-архивы Java/Android
Сжатие таких файлов тратит CPU и иногда слегка увеличивает файл из-за накладных расходов на метаданные архива.
ZIP vs 7z vs RAR
| Формат | Типичная степень | Скорость | Совместимость | Шифрование | |---|---|---|---|---| | .zip (DEFLATE) | Базовая | Быстро | Универсальная (встроена в Windows, macOS, Linux) | ZIP 2.0 (слабое), AES-256 (в современных инструментах) | | .zip (DEFLATE64) | На 5–10% лучше | Быстро | Windows встроенный, 7-Zip, часть инструментов macOS | Как .zip | | 7z (LZMA2) | На 30–40% лучше .zip | Медленнее | Требует 7-Zip, Keka или The Unarchiver | AES-256 встроенный | | .rar (RAR5) | На 25–35% лучше .zip | Средне | Требует WinRAR или 7-Zip; создание не бесплатно | AES-256 встроенный | | .tar.gz | Аналогично .zip | Быстро | Встроен в macOS, Linux; нужен 7-Zip на Windows | Нет нативного | | .tar.zst (Zstandard) | Между .zip и 7z | Очень быстро | Требует zstd (пока не везде) | Нет нативного |
Для переносимости .zip остаётся самым безопасным выбором. Для степени сжатия побеждает 7z. Для скорости и современной эффективности Zstandard (.zst) отличен, но получателям нужен совместимый инструмент.
Режим «store» для объединения файлов
Если вы отправляете 200 фотографий .jpg в одной передаче, вам всё равно нужно упаковать их в один архив, чтобы получатель нажал «Скачать» один раз. Используйте .zip с уровнем сжатия 0 (режим «store»). Архив будет суммой размеров файлов плюс несколько килобайт оглавления — CPU-затраты на его создание практически нулевые.
В 7-Zip: Добавить в архив → Уровень сжатия → Без сжатия. В Finder на macOS: правая кнопка → Сжать (по умолчанию использует DEFLATE, что не поможет для .jpg, но и не навредит). В командной строке: zip -0 bundle.zip *.jpg.
Шифрование при сжатии
ZIP-файлы с паролем через AES-256 (не устаревшее шифрование ZIP 2.0) — разумный способ защиты чувствительных данных при передаче, если вы не можете полагаться на безопасность канала. WinRAR, 7-Zip и Archive Utility в macOS поддерживают шифрование ZIP по AES-256.
Загвоздка: обмен паролем. Не отправляйте пароль в том же письме, что и ZIP. Отправьте файл, затем передайте пароль через Signal, iMessage или другой канал. Или используйте сервис передачи со встроенной защитой паролем, который берёт эту сложность на себя.
Устаревшее шифрование ZIP 2.0 (до сих пор иногда применяемое по умолчанию в старых инструментах) криптографически взломано — восстанавливается за секунды атаками по известному открытому тексту. Всегда убеждайтесь, что используете AES-256, если полагаетесь на шифрование архива в целях безопасности.
Компромисс: время CPU vs сэкономленные байты
Сжатие — это компромисс между временем и размером. Максимальное сжатие 7z для 5 ГБ текстового архива может занять 30 минут на ноутбуке и сэкономить 2 ГБ по сравнению с .zip. Если передача ограничена размером (сервис с потолком 2 ГБ), это стоит затраченного времени. Если передача ограничена временем и полоса пропускания дешёвая, те же 5 ГБ загрузятся за 90 секунд по оптике — полчаса сжатия обошлись бы дороже, чем сэкономили.
Эвристика: сжимайте, когда сеть медленная относительно CPU; не беспокойтесь, когда сеть быстрая относительно CPU.
Разбивка крупных архивов на части
Когда файл превышает потолок сервиса передачи, разбивка на тома — это вариант. 7-Zip и WinRAR поддерживают многотомные архивы (.7z.001, .7z.002 или .part1.rar, .part2.rar). Каждую часть можно загрузить отдельной передачей; получатель скачивает все части и распаковывает.
Это работает, но хрупко: если какая-либо часть отсутствует, весь архив бесполезен. Лучше при возможности использовать сервис с бо́льшим потолком. Лимит SwissTransfer в 50 ГБ устраняет необходимость разбивки в большинстве реальных случаев.
Сжатие с потерями как альтернатива
Иногда цель — не архивное сжатие, а сжатие формата файла. Аудиофайл .wav в 200 МБ превращается в 15 МБ MP3 320 кбит/с — с потерями, но практически прозрачно для обычного прослушивания. Несжатая фотография .tiff в 60 МБ становится .jpg высокого качества в 5 МБ. Видео 4K в формате .mov, перекодированное в H.265 при разумном битрейте, может уменьшиться в 3–5 раз.
Применяйте это обдуманно. Для мастер-файлов lossy-конвертация уничтожает информацию. Для превью или финальных материалов — правильный инструмент. Инструменты: FFmpeg для видео/аудио, Handbrake для видео, ImageMagick для изображений, диалоги экспорта в Photoshop, Final Cut Pro или Premiere.
Что делает сервис передачи сам по себе
Большинство сервисов передачи сжимают данные при передаче в некоторой степени — TLS-сжатие отключено по соображениям безопасности, но HTTP gzip или brotli на уровне API иногда включается для метаданных. Сам файловый payload не сжимается на стороне сервера, поскольку большинство трафика — уже сжатые форматы.
HexaTransfer и аналогичные zero-knowledge сервисы вообще не могут сжимать payload на стороне сервера, поскольку получают зашифрованный текст. Сжатие должно происходить на клиенте до шифрования — после шифрования зашифрованный текст выглядит как случайный набор данных и несжимаем. Это означает, что клиентское сжатие — единственный способ уменьшить размер при использовании E2EE-сервиса.
Решайте по содержимому, а не по привычке
Главная ошибка — рефлекторное «всегда сжимать перед отправкой». Для клиента, получающего 20 PDF-документов, ZIP-архив удобен. Для клиента, получающего одно видео .mp4 в 800 МБ, ZIP тратит время обеих сторон впустую. Подбирайте выбор под содержимое.
Когда сомневаетесь — отправляйте «сырым». Получатель всегда может сжать после получения. При объединении нескольких файлов используйте .zip в режиме store. Если содержимое текстовое — используйте 7z для реальной экономии.
Итог
Сжимайте, когда данные поддаются сжатию — текст, логи, исходный код, базы данных. Не сжимайте, когда данные уже сжаты — фото, видео, аудио, PDF, офисные документы. Для объединения используйте ZIP в режиме store. Для максимальной степени по тексту — 7z с LZMA2. Шифрование через пароли AES-256 в архивах используйте только как дополнение к защищённому каналу передачи, а не как его замену.
Попробуйте на hexatransfer.com — бесплатно, без регистрации, до 10 ГБ.
Безопасная отправка больших файлов со сквозным шифрованием
Передавайте файлы до 10 ГБ бесплатно со сквозным шифрованием. Регистрация не требуется. Ваши файлы шифруются в браузере перед загрузкой — никто другой не может их прочитать.
Отправить файл