Pendant longtemps, j'ai supposé qu'il n'est pas vraiment possible de télécharger un fichier corrompu via http tant qu'il n'est pas corrompu sur le serveur et que la mise en œuvre du protocole http est correcte, ce qui est très probablement le cas pour les logiciels grand public modernes.
J'ai donc toujours gloussé quand j'ai vu un site de téléchargement proposer un hachage md5 d'un fichier qu'ils fournissent en téléchargement. Je n'ai jamais vu de cas auparavant, où je télécharge un fichier, la taille est correcte mais le contenu ne l'est pas.
Eh bien, aujourd'hui, j'ai eu un premier cas de cela. J'ai téléchargé un iso d'Ubuntu, j'ai essayé de l'installer, il a échoué et après une longue recherche (je n'arrivais pas à croire que la raison pouvait être un téléchargement corrompu), j'ai vérifié le MD5 et que savez-vous, c'était faux (la taille était correct). J'ai donc re-téléchargé et obtenu encore un autre md5 erroné. Ce n'est que lors de mon troisième téléchargement que le md5 était correct.
Ma question est donc, est-il possible en principe d'obtenir un téléchargement corrompu via http, en supposant que la mise en œuvre est correcte, le transfert s'est terminé avec succès et que le fichier est correct sur le serveur. Si cela est possible, comment cela peut-il se produire?
Réponses:
Oui, c'est possible, en particulier sur les connexions Internet de mauvaise qualité - généralement sans fil, mais certaines connexions filaires (comme celle que j'ai) ont également des taux d'erreur élevés à des vitesses élevées.
Le protocole HTTP ne contient aucune disposition garantissant l'intégrité des données. Sur la couche de transport, TCP n'ont détection d'erreur en utilisant une somme de contrôle, mais ce n'est pas très fiable .
Il existe une autre raison de fournir des hachages ou des signatures numériques. Souvent, les fichiers réels sont distribués sur de nombreux serveurs miroirs, qui ne peuvent être garantis 100% sécurisés. S'il n'y a pas de hachage ou de signature à vérifier, une personne ayant accès à un miroir (pas nécessairement légitime) pourrait remplacer les fichiers et rester non détectée, sans avoir à pénétrer dans un serveur complètement différent où le site Web est hébergé.
Vous pouvez obtenir une vérification automatique des fichiers si vous téléchargez Ubuntu sur BitTorrent au lieu de HTTP. (Chaque pièce est vérifiée au moment du téléchargement, vous n'avez donc pas à télécharger à nouveau le tout.)
la source
Comme l'a dit Grawity, c'est possible, mais en plus, ce que j'ai remarqué:
Même avec des connexions Internet stables, il est possible qu'un téléchargement se termine tôt sans aucune raison valable - cela peut simplement arriver.
Et surtout, si vous avez une mauvaise mémoire, il est possible que le téléchargement soit mis en cache avant d'être écrit sur le disque, et comme la mémoire est mauvaise, il écrit le fichier de manière incorrecte. Si vous avez constamment de mauvais téléchargements, c'est une possibilité élevée.
la source