Glosar

Fișiere, descărcări și transfer

Cea mai mare parte din ce pare arbitrar la fișierele de pe un iPhone decurge dintr-o regulă despre izolare, iar cea mai mare parte din ce face descărcările fiabile vine dintr-o caracteristică a HTTP. Acestea sunt ambele, plus modurile în care fișierele ajung de la un dispozitiv la altul.

Sandbox

Regula conform căreia fiecare aplicație își poate vedea doar propriul spațiu de stocare. Acesta e motivul pentru care o aplicație nu poate deschide descărcările alteia și de ce „fișierul e lângă videoclip” nu e un lucru care există pe iOS.

Fiecare aplicație primește un director privat și nicio vedere asupra celui al altcuiva. Fișierele se mută între aplicații doar prin acțiuni deliberate — o fișă de partajare, un selector de documente, o tragere — fiecare fiind o decizie pe care a luat-o persoana, nu ceva ce și-a servit singură o aplicație.

Costul apare în locuri mici. Playerele desktop găsesc automat film.srt lângă film.mkv; pe iOS nu există „lângă”, așa că un fișier de subtitrare trebuie predat intenționat, iar aplicația trebuie să fie cea care ține minte asocierea.

Vezi și: Grup de aplicațiiMarcaj cu domeniu de securitate

Grup de aplicații

Un container partajat pe care îl pot deschide ambele aplicații de la același dezvoltator - singura fisură sancționată din sandbox. Așa predă o extensie de partajare un fișier aplicației căreia îi aparține.

O extensie de partajare e un program separat de aplicația din care pare să facă parte, cu propriul sandbox și o viață foarte scurtă. Nu poate scrie în spațiul de stocare al aplicației principale.

Așa că scrie într-un container pe care ambele au voie să-l vadă, iar aplicația golește acel container data următoare când se deschide. Nimic nu trece o graniță de dezvoltator, și nimic nu trece fără o atingere explicită.

Vezi și: Sandbox

Marcaj cu domeniu de securitate

Un simbol care ține minte permisiunea pentru un folder din afara sandbox-ului - o unitate externă, un folder din iCloud - astfel încât aplicația să-l poată redeschide mai târziu fără să ceară din nou.

Când alegi o locație prin selectorul de fișiere al sistemului, permisiunea acordată e pentru acel moment. Un marcaj o păstrează între lansări, iar aplicația trebuie să pornească și să oprească explicit folosirea accesului pe care-l reprezintă.

Asta e ce face posibilă navigarea pe un SSD extern fără să copiezi nimic în interior, și e limitat exact la ce ai ales — un marcaj pentru un folder nu acordă nimic despre vecinul lui.

Vezi și: Sandbox

Cerere de interval

Cererea către un server pentru o anumită porțiune de fișier - byte-ii 5.000.000 până la 5.999.999 - în loc de tot fișierul. E ceea ce face o descărcare reluabilă și ceea ce permite mai multor conexiuni să preia un fișier deodată.

Un server care acceptă intervale răspunde cu 206 Partial Content și porțiunea cerută. Unul care nu acceptă răspunde cu 200 și trimite totul de la început, ceea ce e diferența dintre a relua o descărcare și a o reporni.

Tot ce e interesant la un motor de descărcare se bazează pe această singură caracteristică HTTP. Fără ea nu există reluare după o conexiune întreruptă, nu există reluare după o repornire, și nu există niciun mod de a folosi mai mult de o conexiune.

Vezi și: Descărcare reluabilăConexiuni paralele

Descărcare reluabilă

Un transfer care continuă exact de unde s-a oprit, în loc să înceapă din nou, prin înregistrarea câți byte-i sunt confirmați și cerând restul.

Cerința e ca numărul înregistrat să nu fie niciodată optimist. Un byte numărat ca scris, dar aflat încă într-un buffer, devine o gaură în fișier când aplicația e închisă forțat — și o gaură la mijlocul unui videoclip e o corupție care apare abia după o oră de vizionare.

De asta numărătoarea trebuie să urmeze scrierea pe disc, nu citirea din rețea, și de asta fiecare predare între transferul din prim-plan și cel din fundal trebuie să fie de acord asupra unui singur număr.

Vezi și: Cerere de intervalTransfer de fundal

Conexiuni paralele

descărcare fragmentată cu conexiuni multiple

Împărțirea unui fișier în intervale și preluarea mai multor deodată. Ajută atunci când o singură conexiune e limitată și nu face nimic atunci când blocajul e propria ta linie.

Un server care limitează viteza fiecărei conexiuni poate fi adesea convins să livreze mai mult în total pe mai multe deodată. Aici își câștigă descărcarea cu conexiuni multiple reputația.

Nu e magie și e frecvent înțeleasă greșit. Dacă conexiunea ta e deja saturată, mai multe conexiuni împart aceeași capacitate în bucăți mai mici și adaugă overhead. Unele servere refuză sau limitează, de asemenea, cereri multiple de la o singură adresă.

Vezi și: Cerere de intervalDescărcare reluabilă

Transfer de fundal

O descărcare predată sistemului de operare, astfel încât să continue după ce aplicația e închisă. Sistemul decide momentul, iar tranzacția e continuarea.

O aplicație iOS se oprește din rulare la scurt timp după ce o părăsești. Un transfer predat serviciului de fundal al sistemului supraviețuiește asta, supraviețuiește închiderii forțate a aplicației, și se reia după o repornire.

Ce pierde e controlul. Sistemul grupează aceste transferuri după propria viziune asupra energiei și condițiilor de rețea, așa că o descărcare de fundal poate face pauză și relua în moduri în care una din aplicație n-ar face-o — dar se va termina.

Vezi și: Descărcare reluabilăSandbox

WebDAV

O extensie a HTTP care transformă un server web într-un server de fișiere: listezi, citești, scrii, muți, ștergi. E ceea ce vorbesc Nextcloud și ownCloud, și ceea ce oferă majoritatea cutiilor NAS.

Pentru că e HTTP la bază, WebDAV funcționează prin aceeași infrastructură ca orice altceva pe web — fără porturi speciale, fără protocol de client special — motiv pentru care a supraviețuit în timp ce protocoale de fișiere mai elaborate n-au făcut-o.

Pentru cineva care preferă să nu-și pună fișierele în cloud-ul unei companii, e alternativa practică: propriul server, propriile credențiale, standarde obișnuite.

Vezi și: Stocare în cloud

Stocare în cloud

Fișiere păstrate pe serverul altcuiva, accesate prin API-ul companiei respective – Dropbox, OneDrive, Box, pCloud. Fiecare are propria interfață, motiv pentru care aplicațiile le acceptă pe rând.

Nu există un protocol universal de cloud. Fiecare furnizor și-a proiectat propriul API și propriul flux de autentificare, așa că adăugarea unui furnizor într-o aplicație e muncă reală, nu o simplă intrare de configurare.

Autentificarea e de obicei OAuth, ceea ce înseamnă că aplicația nu vede niciodată parola: furnizorul autentifică persoana și dă înapoi un jeton care poate fi revocat oricând din setările proprii ale furnizorului.

Vezi și: WebDAV

WebRTC

Un standard pentru conectarea directă a două dispozitive, fără un server între ele odată ce conexiunea există. E ceea ce folosește transferul de la dispozitiv la dispozitiv pentru a muta un fișier prin cameră.

Un mic server de semnalizare prezintă cele două dispozitive unul altuia — la asta folosește codul din șase cifre — și apoi se retrage. Fișierul călătorește direct între dispozitive și nu e stocat nicăieri pe drum.

Pe aceeași rețea, e la fel de rapid pe cât permite acea rețea. Pe internet, depinde dacă ambele părți pot fi accesate direct, ceea ce e locul unde conexiunile eșuează ocazional din motive pe care niciun dispozitiv nu le poate vedea.

Vezi și: Server HTTP local

Server HTTP local

O aplicație care răspunde la cereri web din propria rețea, astfel încât un browser web de pe computerul tău poate deschide o pagină servită de telefonul tău. Așa funcționează Wi-Fi Transfer, fără cablu și fără cont.

Telefonul arată o adresă; computerul o deschide; pagina primită e servită chiar de telefon. Fișierele se mută direct prin rețeaua locală și nu o părăsesc niciodată.

Din moment ce oricine de pe aceeași rețea poate ajunge la acea adresă, are nevoie de o încuietoare — un cod de introdus, permisiuni acordate per operațiune, iar cele distructive dezactivate dacă nu sunt pornite intenționat.

Vezi și: WebRTC

Celelalte subiecte