Una vez leí en alguna parte que toma más tiempo descargar un archivo comprimido que un archivo comprimido del mismo tamaño, debido a la naturaleza del archivo comprimido.
¿Es esto cierto o sin sentido?
editar: estoy hablando sobre el tráfico HTTP
Una vez leí en alguna parte que toma más tiempo descargar un archivo comprimido que un archivo comprimido del mismo tamaño, debido a la naturaleza del archivo comprimido.
¿Es esto cierto o sin sentido?
editar: estoy hablando sobre el tráfico HTTP
Respuestas:
Cuando la conexión está usando compresión , entonces, por supuesto.
No puede comprimir eficientemente los datos 2 veces. Entonces, cuando la compresión está activada, un archivo zip de 1 MB se transferirá más lentamente que un archivo txt de 1 MB.
NB: esto depende del protocolo de transferencia. FTP u otros protocolos no tienen compresión incorporada. HTTP tiene.
No es cierto si está descargando a través de FTP o HTTP estándar. Para otros tipos de conexión, vea la respuesta de Christopher .
Suponiendo la misma conexión, la velocidad de descarga está determinada por el tamaño del archivo.
Puede haber un retraso al final de la descarga si tiene habilitada la verificación automática de virus, ya que tendrá que abrir y descomprimir el archivo zip para verificar el contenido en lugar de poder verificar el archivo directamente.
Si usa una conexión PPP (dial-up o VPN) con compresión, los archivos comprimidos pueden descargarse a una velocidad menor que los archivos de texto debido a su naturaleza (los primeros ya están comprimidos y el segundo será comprimido por el protocolo aumentando así la velocidad medida) .
Pero si compara la cantidad de información que recibe, la descarga de archivos comprimidos seguirá siendo más eficiente porque cualquier archivador de archivos suele ser superior a la compresión de la capa de enlace. Por lo tanto, un archivo de texto comprimido se descargará más rápido que el mismo archivo de texto textualmente, incluso si la compresión aumenta un poco la velocidad de descarga.
Como ya se mencionó, el tráfico HTTP se puede comprimir, pero no siempre es así.
Es posible que haya leído esto en un momento en que las personas usaban módems telefónicos en lugar de módems adsl / cable. En esta situación, el texto se comprimió antes de enviarlo o recibirlo, por lo que su archivo de texto se habría enviado más rápido.
No estoy seguro de si esto está relacionado o no, pero si descarga un archivo comprimido (comprimido sin compresión) es más rápido que descargar el mismo paquete que varios archivos (descomprimidos), debido a la sobrecarga de la solicitud HTTP requerida antes de comenzar a descargar cada archivo individual.
Respuesta práctica: el propósito de comprimir sus archivos es hacerlos más fáciles de compartir (es decir, descargar) con otras personas. La compresión funciona por compresión, lo que significa 'reducir archivos' en inglés común.
El software de la computadora no es perfecto, y puede haber casos extraños en los que comprimir un archivo lo haría un poco más grande y difícil de compartir. Encontrar estos casos extremos donde falla la compresión probablemente te hará llorar y no vale la pena tu tiempo.
Respuesta hipotética: es muy complicado. La respuesta dependería del programa zip, los protocolos de transmisión, el tamaño del archivo, el tipo de archivo, tal vez incluso el tipo de navegador o el software antivirus que se ejecuta en la computadora cliente. En otras palabras, "depende".
La respuesta es en realidad "depende": según el formato que el servidor web elija para enviar el archivo.
Si el servidor genera la respuesta con bytes binarios tal como están, los archivos comprimidos y descomprimidos del mismo tamaño se descargarán a la misma velocidad.
Si el servidor genera una respuesta en la codificación Base64, entonces aumenta el número de bytes y el archivo comprimido tardará más en descargarse. La mayoría de los servidores web modernos ya no lo hacen, aunque solía ser bastante frecuente hace unos años.
Para explicar, el formato base64 es una secuencia de caracteres visualizables de 6 bits. Eso significa, por ejemplo, que 6 bytes binarios, que son 6 * 8 = 48 bits, están codificados como 48/6 = 8 caracteres. En general, para n bytes binarios, el número de 64 caracteres básicos que se envían es (n * 8) / 6. Por lo tanto, enviar n bytes binarios es más lento que enviar n bytes textuales en un 33% (8 dividido por 6), porque hay más caracteres se envían.