Downloaden

Wat een downloadbeheerder doet en een webbrowser niet

Een bestand van vier gigabyte, negentig procent klaar, en dan een telefoontje — of gewoon een vergrendeld scherm — en het is weg. Dit is de meest gehoorde klacht over downloaden op iOS, en het is geen fout. Het is het besturingssysteem dat precies doet waarvoor het ontworpen is, en het is de reden dat er een aparte soort app bestaat.

8 min lezen Bijgewerkt 29 juli 2026

  • 30s Ruwweg hoelang een opgeschorte app doorloopt voordat iOS hem stopt
  • 206 De HTTP-status die hervatten überhaupt mogelijk maakt
  • 1 byte Hoeveel van een correct hervatte overdracht opnieuw wordt gedownload

Waarom de overdracht stopt als je van app wisselt

iOS laat een app niet doorwerken alleen omdat die dat graag zou willen. Verlaat je een app, dan wordt hij binnen seconden opgeschort, en een opgeschorte app heeft geen processortijd, geen netwerkverbindingen en geen enkele manier om op te merken dat hij is stilgezet. Alles wat hij in het geheugen had, staat er nog wel, maar bevroren — en heeft het systeem dat geheugen nodig, dan wordt de app zonder bericht regelrecht beëindigd.

Een download die binnen de app over een gewone verbinding loopt, eindigt dus bij het thuisgebaar. Sommige apps verdoezelen dat door een paar extra seconden achtergrondtijd te vragen, en daarom overleeft een download het naar de achtergrond gaan soms precies zolang als je nodig hebt om te merken dat hij het niet overleefde.

Het juiste antwoord is van een andere orde. iOS biedt een dienst voor achtergrondoverdrachten: je geeft het systeem een lijst met URL’s en bestemmingen, en het systeem doet het downloaden zelf, in zijn eigen proces, op zijn eigen schema. Je app mag opgeschort zijn, beëindigd zijn of helemaal niet draaien — de overdracht loopt door, en de app wordt op de achtergrond opnieuw gestart zodra er iets te melden valt. Dit is het mechanisme achter elke download die een vergrendeld scherm overleeft, en het gebruiken is een ontwerpbeslissing die een app vooraf neemt, geen instelling die je kunt aanzetten.

De vier mechanismen die bepalen of een download het overleeft

Range request
Een HTTP-verzoek dat om de bytes vanaf 5.000.000 vraagt in plaats van om het hele bestand. Antwoordt de server met 206 Partial Content, dan is hervatten vanuit het midden mogelijk; antwoordt hij met 200 OK en begint hij vooraan, dan niet — het bestand moet dan weer vanaf nul worden opgehaald.
Parallelle verbindingen
Eén bestand in meerdere stukken opdelen en die tegelijk ophalen. Het helpt omdat één verbinding vaak door de server wordt afgeknepen of door de reistijd wordt begrensd, en niet omdat je internet sneller wordt van meer open verbindingen.
Vastgelegde positie
Hoeveel van het bestand veilig naar schijf is geschreven, in tegenstelling tot wat nog onderweg is. Een download die hervat vanaf de laatst vastgelegde byte is correct; een download die hervat vanaf wat hij *denkt* ontvangen te hebben, levert een beschadigd bestand op dat zich pas uren later laat zien.
Achtergrondsessie
De hierboven beschreven overdracht die het systeem uitvoert. Hij start trager, je kunt er geen willekeurige eigen logica in kwijt, en hij is het enige dat doorloopt wanneer de app dat niet doet.

Waarom een download mislukt, en hoe elke mislukking eruitziet

De meeste meldingen van een “vastgelopen download” zijn een van deze vijf, en ze zijn goed uit elkaar te houden zodra je de vorm kent.

Wat je zietWat er werkelijk gebeurtWat helpt
Stopt op het moment dat je de app verlaatDe overdracht liep binnen het proces en niet in een achtergrondsessie.Van buitenaf valt er niets te doen — dit is een ontwerpkwestie van de app.
Begint elke keer opnieuw bij 0%De server negeert range requests, dus er is geen manier om vanuit het midden verder te gaan.Een stabiele verbinding, of een kleiner bestand. Sommige hosts staan ranges alleen toe bij ondertekende links.
Mislukt telkens na een paar minutenDe link is verlopen. Veel hosts geven URL’s uit die vijf of tien minuten geldig zijn.Haal de link opnieuw op vanaf zijn pagina en begin opnieuw; de oude gaat het nooit meer doen.
Downloadt snel, en dan gaat het bestand niet openWat binnenkwam was een HTML-foutpagina of een inlogpagina met de naam van een videobestand.Kijk naar de grootte — een “film” van 14 KB is een webpagina. Bekijk de link voordat je eraan begint.
Erg traag ondanks een snelle verbindingDe server knijpt elke verbinding afzonderlijk af.Meer parallelle verbindingen, als de server dat toestaat. Begrenst hij per IP-adres in plaats van per verbinding, dan helpt niets.

Wanneer er helemaal geen bestand te downloaden valt

Een groot deel van de video op het web wordt niet als bestand geleverd. Het wordt geleverd als HLS — een .m3u8-playlist die honderden kleine segmenten opsomt van elk een paar seconden, vaak op meerdere kwaliteitsniveaus zodat de speler kan wisselen als je verbinding verandert. Er is geen enkele URL die de film bevat, want de film bestaat alleen als reeks.

Er een opslaan betekent elk segment ophalen en ze daarna remuxen: de video- en audiostromen in een gewone MP4-container schrijven. Er wordt niets opnieuw geëncodeerd, dus er gaat niets verloren, en het kost seconden in plaats van de lengte van de film. Wat je overhoudt is een gewoon bestand dat overal afspeelt.

Het is ook de reden waarom “deze stream downloaden” merkbaar trager op gang komt dan een bestand downloaden: eerst moet de playlist worden opgehaald en ontleed en een kwaliteitsniveau worden gekozen, en pas daarna komen de segmenten binnen. En het is de reden waarom sommige streams helemaal niet te bewaren zijn — zijn de segmenten onder een DRM-schema versleuteld, dan zijn de sleutels bewust niet te verkrijgen, en geen enkel hulpmiddel dat de wet respecteert komt daarlangs.

Wat een echte downloadbeheerder onderscheidt van een downloadknop

Hij overleeft het sluiten van de app

Achtergrondoverdrachten die aan het systeem zijn gegeven, met een overgave die verdergaat vanaf dezelfde vastgelegde byte in plaats van het bestand opnieuw te beginnen.

Hij vertelt je wat een link is voordat je eraan begint

Grootte, type en of de server hervatten ondersteunt — allemaal te weten uit één HEAD-verzoek, en allemaal nuttig voordat je vier gigabyte van je databundel uitgeeft.

Hij zet in de rij in plaats van alles tegelijk

Tien bestanden tegelijk is trager dan drie tegelijk, omdat elke verbinding een kleiner deel krijgt en de mislukkingen zich opstapelen. Een wachtrij met een verstandige gelijktijdigheidslimiet is eerder klaar.

Wat binnenkomt is een gewoon bestand

In een map die je kunt zien, met een verstandige naam, afspeelbaar door van alles — geen brok in een database dat alleen die app kan openen.

Gewoontes die de meeste downloadproblemen voorkomen

  • Start grote bestanden op wifi en laat het scherm de eerste seconden aan

    De overgave aan de achtergrondsessie gebeurt vroeg; daarna maakt het scherm niets meer uit.

  • Zet niet twintig dingen tegelijk in de rij

    Drie tot vijf gelijktijdige overdrachten is op bijna elke verbinding het gunstigste punt.

  • Kijk vooraf naar je vrije ruimte, niet achteraf

    Een overdracht die de schijf volmaakt, mislukt op 98%, en iOS heeft je caches dan mogelijk al leeggegooid om ruimte te maken.

  • Wantrouw een download die meteen “klaar” meldt

    Een film die in twee seconden klaar was, is een foutpagina. Kijk naar de bestandsgrootte.

  • Haal verlopen links opnieuw op vanaf hun pagina

    Een dode ondertekende URL opnieuw proberen blijft mislukken, hoe vaak de app het ook probeert.

Hoe dit per apparaat verschilt

iPhone

De strengste omgeving: het opschorten gaat hard en de opslag is krap. Achtergrondsessies zijn hier geen optimalisatie, ze zijn het enige dat werkt.

iPad

Dezelfde regels, met meer ruimte om te bewegen — en het enige iOS-apparaat waar een grote bibliotheek redelijkerwijs op een externe schijf kan belanden in plaats van in de interne opslag.

Mac

Helemaal geen opschorting, dus lange overdrachten gedragen zich zoals op elke desktop. De praktische grens is de server, niet het besturingssysteem.

Vragen die dit oproept

Betekenen meer verbindingen altijd een snellere download?

Nee. Ze helpen wanneer een server de snelheid van elke afzonderlijke verbinding begrenst, en dat komt veel voor. Ze doen niets wanneer je eigen verbinding de grens is, en ze kunnen het erger maken wanneer een host verbindingen per IP-adres telt en ze gaat weigeren. Ergens tussen vier en acht is het nuttige bereik; dertig werkt averechts.

Kan een download doorlopen terwijl het scherm vergrendeld is?

Ja, als hij aan de dienst voor achtergrondoverdrachten van het systeem is gegeven. Het vergrendelscherm doet er voor die dienst niet toe — het gaat erom dat de app wordt opgeschort, en het hele punt van dat mechanisme is dat het ongeacht daarvan doorloopt.

Waarom begint mijn download opnieuw in plaats van te hervatten?

De server honoreerde het range request niet. Je herkent het doordat de voortgang naar nul terugvalt in plaats van op te pakken. Sommige hosts ondersteunen ranges alleen op hun ondertekende download-URL’s, sommige zetten het helemaal uit, en een enkele honoreert ze bij kleine bestanden maar niet bij grote.

Is een stream naar MP4 omzetten hetzelfde als hem opnieuw encoderen?

Nee. Remuxen verplaatst de bestaande video en audio onaangeroerd naar een MP4-container — verliesvrij, en snel genoeg om in seconden klaar te zijn. Opnieuw encoderen bouwt het beeld met een andere codec opnieuw op en verliest altijd kwaliteit. Kost het bewaren van een stream van twee uur ook twee uur, dan wordt er opnieuw geëncodeerd terwijl dat niet nodig was.

FoxDL

Hoe FoxDL downloadt

De motor heeft twee banen: een binnen het proces die snel is zolang de app op het scherm staat, en de achtergrondsessie van het systeem die het vanaf dezelfde byte overneemt zodra dat niet zo is.

  • Parallelle stukken voor één bestand, rechtstreeks op hun uiteindelijke plek op schijf geschreven in plaats van in tijdelijke delen die achteraf aan elkaar moeten.
  • Achtergrondoverdrachten die doorlopen nadat de app het scherm verlaat, en die oppakken bij de laatst vastgelegde positie — niet bij de laatste byte waarvan de app dácht dat hij hem had.
  • Hervatten na een wegval, een herstart of een geforceerde afsluiting, mits de server range requests honoreert. Doet hij dat niet, dan zegt FoxDL dat in plaats van in een lus te blijven hangen.
  • HLS-streams geremuxt naar MP4, zodat wat in de bibliotheek belandt een gewoon bestand is en geen map vol segmenten.
  • Een downloadinspecteur die de echte grootte, het type en de hervatondersteuning van een link meldt voordat je begint.
  • Alles belandt in een gewone map die de Bestanden-app kan zien.

De gratis limieten verschillen per platform: op iPhone en iPad een klein aantal beurten, aan te vullen met een korte beloonde video die je zelf start; op de Mac, waar helemaal geen reclame is, een vast aantal per dag. Pro haalt de limiet op elk apparaat weg.

Veelgestelde vragen

Alle vragen

Verder lezen

Je bibliotheek, eindelijk op één plek.

Gratis downloaden. Geen account, geen aanmelding — de volledige set zit in de gratis versie.

Download in de App Store