Przez długi czas zakładałem, że tak naprawdę nie jest możliwe pobranie uszkodzonego pliku przez http, o ile nie jest on uszkodzony na serwerze, a implementacja protokołu HTTP jest prawidłowa, co najprawdopodobniej dotyczy nowoczesnego oprogramowania głównego nurtu.
Więc zawsze zachichotałem, gdy zobaczyłem witrynę pobierania oferującą skrót md5 pliku, który udostępniają do pobrania. Nie widziałem wcześniej przypadku, w którym pobieram plik, jego rozmiar jest prawidłowy, ale treść nie.
Dzisiaj miałem pierwszy przypadek. Pobrałem plik ISO Ubuntu, próbowałem go zainstalować, nie powiodło się i po długich badaniach (po prostu nie mogłem uwierzyć, że przyczyną może być zepsute pobieranie) sprawdziłem MD5 i co wiesz, to było złe (rozmiar był poprawny). Więc ponownie go pobrałem i dostałem jeszcze jeden zły md5. Tylko przy moim trzecim pobraniu md5 było prawidłowe.
Więc moje pytanie brzmi: czy w zasadzie możliwe jest uzyskanie uszkodzonego pobierania przez HTTP, przy założeniu, że implementacja jest poprawna, transfer został zakończony pomyślnie i plik jest poprawny na serwerze. Jeśli to możliwe, to jak to się może stać?