Sprawa dotyczy szczególnie plików z różnych serwerów typu rapidshare, ostatnio zauważyłem przy Wrzucie i chyba FileServe.
Nie byłoby nic dziwnego, gdyby nie to, że ten sam problem wystepują przy 3(!) różnych przeglądarkach: Internet Explorer (wersja 5.0 lub 6.0, na nowszych tego nie miałem, bo nie używam IE), Chrome i Firefox (w obu przypadkach najnowsza lub prawie najnowsza wersja).
Problem polega na tym, że że ściągamy plik mający minimum kilkadziesiąt megabajtów (im większy, tym większe prawdopodobieństwo tego błędu).
Błąd objawia się tym, ze przeglądarka rozpoczyna pobieranie, już od początku wie, jak duży jest ten plik. Ściąga się do połowy, przeglądarka zachowuje się tak, jakby plik został prawidłowo ściągnięty bez błędu, tylko, że ten plik jest ucięty w miejscu przerwania ściągania. Rozumiem, że przyczyna urywanego ściągania jest po stronie serwera.
Gdyby autor przeglądarki pomyślał i do funkcji ściągania pliku dodał taki kod, to problem by się skutecznie rozwiązał:
If (sciaganie_zakonczone)
{
if (rozmiar_sciagnietego_pliku == rozmiar_pliku_odczytany_przed_sciaganiem)
{
Sciaganie_przeprowadzone_prawidowo();
}
else
{
Wyswietl_komunikat_ze_wystapil_blad_i_zaproponuj_ponowne_sciaganie_pliku();
}
}
Czyżby żaden z trzech największych producentów przeglądarki nigdy nie miał do czynienia z taką sytuacja, że żaden z nich tego nie zaimplementował "na wszelki wypadek"? A implementacja tego, to chyba żaden problem.
Jaka jest najczęstsza rzeczywista przyczyna takiego urywanego ściągania?