Ordlista

Filer, nedladdningar och överföringar

Det mesta som känns godtyckligt med filer på en iPhone följer av en regel om isolering, och det mesta som gör nedladdningar tillförlitliga följer av en funktion i HTTP. Dessa är båda, plus sätten som filer överförs från en enhet till en annan.

Sandlåda

Regeln att varje app bara kan se sin egen lagring. Det är därför en app inte kan öppna en annans nedladdningar, och varför "filen är bredvid videon" inte är en sak som finns på iOS.

Varje app får en privat katalog och ingen insyn i någon annans. Filer flyttas mellan appar bara genom medvetna handlingar — ett delningsark, en dokumentväljare, en dragning — var och en ett beslut personen fattade snarare än något en app tog sig själv.

Kostnaden landar på små ställen. Datorspelare hittar film.srt bredvid film.mkv automatiskt; på iOS finns inget "bredvid", så en undertextfil måste överlämnas med avsikt och appen måste vara det som kommer ihåg parningen.

Se även: AppgruppBokmärke med säkerhetsomfattning

Appgrupp

En delad behållare två appar från samma utvecklare kan båda öppnas - den enda sanktionerade sprickan i sandlådan. Det är hur en deltillägg lämnar en fil till appen den tillhör.

Ett delningstillägg är ett separat program från appen det verkar vara en del av, med sin egen sandlåda och ett väldigt kort liv. Det kan inte skriva till huvudappens lagring.

Så det skriver till en behållare båda tillåts se, och appen tömmer den behållaren nästa gång den öppnas. Inget korsar en utvecklargräns, och inget korsar utan ett uttryckligt tryck.

Se även: Sandlåda

Bokmärke med säkerhetsomfattning

En token som kommer ihåg tillstånd till en mapp utanför sandlådan - en extern enhet, en mapp i iCloud - så att appen kan öppna den igen senare utan att fråga igen.

När du väljer en plats via systemets filväljare gäller behörigheten bara för det ögonblicket. Ett bokmärke bevarar den mellan uppstarter, och appen måste uttryckligen starta och stoppa användningen av åtkomsten det representerar.

Det är vad som gör det möjligt att bläddra i en extern SSD utan att kopiera in något, och det är avgränsat till exakt det du valde — ett bokmärke till en mapp ger inget om dess granne.

Se även: Sandlåda

Räckviddsbegäran

Be en server om en specifik del av en fil - byte 5 000 000 till 5 999 999 - istället för allt. Det är det som gör att en nedladdning kan återupptas och som låter flera anslutningar hämta en fil samtidigt.

En server som stödjer intervall svarar med 206 Partial Content och skivan som begärdes. En som inte gör det svarar 200 och skickar allt från början, vilket är skillnaden mellan att återuppta en nedladdning och att starta om den.

Allt intressant med en nedladdningsmotor vilar på just den här HTTP-funktionen. Utan den finns ingen återupptagning efter en avbruten anslutning, ingen återupptagning efter en omstart, och inget sätt att använda mer än en anslutning.

Se även: Återupptagbar nedladdningParallella anslutningar

Återupptagbar nedladdning

En överföring som fortsätter från exakt där den slutade i stället för att börja om, genom att registrera hur många byte som är anslutna och fråga efter resten.

Kravet är att antalet som registreras aldrig är optimistiskt. En byte räknad som skriven men fortfarande liggande i en buffert blir ett hål i filen när appen avslutas — och ett hål mitt i en video är en skada som bara visar sig en timme in i tittandet.

Vilket är varför räkningen måste följa skrivningen till disk snarare än läsningen från nätverket, och varför varje övergång mellan förgrunds- och bakgrundsöverföring måste komma överens om ett tal.

Se även: RäckviddsbegäranBakgrundsöverföring

Parallella anslutningar

multi-anslutning, chunked nedladdning

Dela upp en fil i intervall och hämta flera samtidigt. Det hjälper när en enda anslutning begränsas och gör ingenting alls när flaskhalsen är din egen linje.

En server som begränsar varje anslutnings hastighet kan ofta övertalas att leverera mer totalt sett över flera. Det är här nedladdning med flera anslutningar förtjänar sitt rykte.

Det är ingen magi och det missförstås ofta. Om din anslutning redan är mättad delar fler anslutningar upp samma kapacitet i mindre bitar och lägger till overhead. Vissa servrar vägrar dessutom eller strypar flera förfrågningar från en adress.

Se även: RäckviddsbegäranÅterupptagbar nedladdning

Bakgrundsöverföring

En nedladdning lämnas till operativsystemet så att den fortsätter efter att appen stängts. Systemet bestämmer tidpunkten, vilket är handeln för att det överhuvudtaget fortsätter.

En iOS-app slutar köra strax efter att du lämnar den. En överföring given till systemets bakgrundstjänst överlever det, och överlever att appen avslutas, och återupptas efter en omstart.

Vad den ger upp är kontroll. Systemet grupperar de här överföringarna enligt sin egen syn på ström och nätverksförhållanden, så en bakgrundsnedladdning kan pausa och återuppta på sätt en app-intern inte skulle — och den kommer att slutföras.

Se även: Återupptagbar nedladdningSandlåda

WebDAV

Ett tillägg till HTTP som förvandlar en webbserver till en filserver: lista, läs, skriv, flytta, radera. Det är vad Nextcloud och ownCloud talar, och vad de flesta NAS-boxar erbjuder.

Eftersom det är HTTP under ytan fungerar WebDAV genom samma infrastruktur som allt annat på webben — inga speciella portar, inget speciellt klientprotokoll — vilket är varför det överlevde medan mer utstuderade filprotokoll inte gjorde det.

För någon som hellre inte vill lägga filer i ett företags moln är det det praktiska alternativet: din egen server, dina egna inloggningsuppgifter, vanliga standarder.

Se även: Molnlagring

Molnlagring

Filer som lagras på någon annans server, nås via företagets API — Dropbox, OneDrive, Box, pCloud. Var och en har sitt eget gränssnitt, vilket är anledningen till att appar stöder dem en i taget.

Det finns inget universellt molnprotokoll. Varje leverantör designade sitt eget API och sitt eget inloggningsflöde, så att lägga till en leverantör i en app är riktigt arbete snarare än en konfigurationspost.

Inloggning är normalt OAuth, vilket betyder att appen aldrig ser lösenordet: leverantören autentiserar personen och lämnar tillbaka en token som kan återkallas från leverantörens egna inställningar när som helst.

Se även: WebDAV

WebRTC

En standard för att ansluta två enheter direkt, utan en server mellan dem när anslutningen väl finns. Det är vad enhet-till-enhetsöverföring använder för att flytta en fil över rummet.

En liten signaleringsserver introducerar de två enheterna för varandra — det är vad den sexsiffriga koden är till för — och drar sig sedan tillbaka. Filen färdas direkt mellan enheterna och lagras ingenstans däremellan.

På samma nätverk är det så snabbt som det nätverket tillåter. Över internet beror det på om båda sidorna kan nås direkt, vilket är där anslutningar ibland misslyckas av skäl ingen av enheterna kan se.

Se även: Lokal HTTP-server

Lokal HTTP-server

En app som svarar på webbförfrågningar i ditt eget nätverk, så en webbläsare på din dator kan öppna en sida som betjänas av din telefon. Det är så Wi-Fi Transfer fungerar, utan kabel och utan konto.

Telefonen visar en adress; datorn öppnar den; sidan den får serveras av telefonen själv. Filer flyttas direkt över det lokala nätverket och lämnar det aldrig.

Eftersom vem som helst på samma nätverk kan nå den adressen behöver den ett lås — en kod att ange, behörigheter beviljade per åtgärd, och destruktiva sådana avstängda om de inte medvetet slås på.

Se även: WebRTC

De andra ämnena