Les autres ont donné des réponses avec des détails techniques que j'avais oubliés bien que je sois programmeur (mon travail n'implique pas de communication sur des réseaux), je vais donc simplement vous faire connaître une expérience personnelle.
Il y a longtemps , lorsque je gravais fréquemment des CD, il m'est déjà arrivé d'avoir téléchargé cet ISO de distribution Linux qui semblait avoir été téléchargé correctement. Le CD m'a échoué, j'ai donc vérifié le fichier téléchargé et il ne correspondait pas. Donc, j'ai téléchargé à nouveau et cela a fonctionné. Donc, cela ne s'est produit qu'une fois en 15 ans depuis que je suis un utilisateur avancé en programmation (j'utilise des ordinateurs depuis l'âge de 11 ans, il y a 19 ans et j'ai gravé plus d'un millier de disques). Mais c'est la preuve que cela peut arriver.
Cela m'est également arrivé une ou deux fois par le biais de BitTorrent, donc ce n'est pas non plus sans faille. En forçant la revérification du fichier téléchargé, il a identifié la pièce corrompue.
Ma conclusion est que HTTP (s'appuyer sur TCP) est peut-être aussi sûr qu'il peut être, mais Internet signifie qu'il y a des nœuds intermédiaires entre votre appareil et le serveur, et rien ne dit ce qui peut arriver en cours de route (des paquets sont même perdus toutes les et parfois, les ordinateurs ne peuvent pas dire que les données sont fausses, je suppose.
Personne ne peut dire si cela vaudrait la peine pour vous - cela dépend du contexte et je suis sûr que vous pouvez en juger par vous-même. Pour moi, ça ne vaut pas la plupart du temps. Si j’allais installer un système d’exploitation, je vérifierais l’image téléchargée auparavant.
Remarque: le fait que j’ai remarqué une ou deux fois seulement un téléchargement corrompu ne signifie pas qu’il ne s’est produit qu’alors. Peut-être que d'autres fois, cela ne vous gênera pas et vous ne le remarquerez pas.
EDIT: J'ai même eu des programmeurs plus expérimentés au travail qui ont argumenté (avec une certaine indignation même) que ces hachages de vérification de l'intégrité des données permettent de savoir si un fichier est identique au bit original, mais je sais (j'ai lu) que le fait que deux fichiers donnent le même hachage ne signifie pas qu'ils sont identiques, cela signifie simplement qu'il est extrêmement improbable qu'ils soient différents. Leur utilité est que lorsque les fichiers ne sont pas identiques, et en particulier quand ils sont très différents, les codes de hachage qui en résultent ne seront pratiquement jamais les mêmes (il est encore moins probable que ce test échoue). En moins de mots - si les codes de hachage sont différents, vous savez que les fichiers sont différents.