Одного разу я десь прочитав, що завантажувати заархівований файл потрібно довше, ніж незакріплений файл такого ж розміру, що обумовлено характером zip-файлу.
Це правда чи нісенітниця?
редагувати: я говорю про трафік HTTP
Одного разу я десь прочитав, що завантажувати заархівований файл потрібно довше, ніж незакріплений файл такого ж розміру, що обумовлено характером zip-файлу.
Це правда чи нісенітниця?
редагувати: я говорю про трафік HTTP
Відповіді:
Коли для з'єднання використовується стиснення , то, звичайно.
Ви не можете ефективно стискати дані 2 рази. Таким чином, коли стиснення увімкнено, поштовий файл розміром 1 Мб передаватиметься повільніше, ніж 1 МБ файлу txt.
NB: Це залежить від протоколу передачі. FTP або інші протоколи не мають вбудованої компресії. HTTP має.
Це неправда, якщо ви завантажуєте через стандартний FTP або HTTP. Інші типи з'єднання див. У відповідь Крістофера .
Якщо припустити те саме з'єднання, швидкість завантаження визначається розміром файлу.
У кінці завантаження може виникнути затримка, якщо ввімкнено автоматичну перевірку вірусів, оскільки для перевірки вмісту доведеться відкривати та розпаковувати zip-файл, а не мати можливість безпосередньо перевіряти файл.
Якщо ви використовуєте з'єднання PPP (комутований або VPN) для стиснення, файли, що завантажуються, можуть завантажуватись з меншою швидкістю, ніж текстові файли через їх характер (перші вже стиснуті, а другі будуть стиснуті протоколом, таким чином збільшуючи виміряну швидкість) .
Але якщо ви порівнюєте кількість отриманої інформації, завантаження файлів, що зберігаються в zip, все одно буде більш ефективною, оскільки будь-який архіватор файлів зазвичай перевершує стиснення на рівні посилання. Таким чином, текстовий файл, що знаходиться на блискавці, завантажується швидше, ніж той самий текстовий файл дослівно, навіть якщо стиснення трохи збільшує швидкість завантаження.
Як уже згадувалося, трафік HTTP можна стискати, але це не завжди.
Ви, можливо, читали це в той час, коли люди використовували телефонні модеми замість моделей adsl / cable. У цій ситуації текст перед надсиланням чи отриманням стискався, тому ваш текстовий файл був би надісланий швидше.
Не впевнений, що це пов’язано чи ні, але якщо ви завантажите один заархівований файл (зіштовхується без стиснення), це швидше, ніж завантажувати той самий пакет, що й декілька (нерозпаковані) файлів, через накладні звернення HTTP, необхідні перед початком завантаження кожного окремого файлу.
Практична відповідь: мета завантаження файлів - полегшити обмін (iedownload) з іншими людьми. Zipping працює за допомогою стиснення, що означає "скорочення файлів" у загальній англійській мові.
Комп'ютерне програмне забезпечення не є досконалим, і можуть бути дивні випадкові випадки, коли перетягування файлу зробить його трохи більшим і складнішим для спільного доступу. Виявлення цих крайових випадків, коли застібка не вдається, напевно набридає вас сльозами і не вартує вашого часу.
Гіпотетична відповідь: Це дуже складно. Відповідь залежатиме від zip-програми, протоколів передачі, розміру файлу, типу файлу, можливо, навіть типу браузера чи антивірусного програмного забезпечення, що працює на клієнтському комп'ютері. Іншими словами, "це залежить".
Відповідь насправді "це залежить": Залежно від формату, який веб-сервер обирає для надсилання файлу.
Якщо сервер генерує відповідь з двійковими байтами як-є, то блискавки та нерозпаковані файли однакового розміру завантажуватимуться з однаковою швидкістю.
Якщо сервер генерує відповідь при кодуванні Base64, то це збільшує кількість байтів, і завантажений файл, який триває, займе більше часу. Більшість сучасних веб-серверів уже не роблять цього, хоча це було досить поширеним кілька років тому.
Для пояснення, формат base64 - це потік 6-бітових символів, що відображаються. Це означає, наприклад, що 6 двійкових байтів, що мають 6 * 8 = 48 біт, кодуються як 48/6 = 8 символів. Загалом, для n двійкових байтів кількість відправлених символів base64 становить (n * 8) / 6. Тож надсилання n двійкових байтів повільніше, ніж надсилання n текстових байтів на 33% (8 поділено на 6), тому що більше символів відправляються.