Glosarium

File, unduhan, dan transfer

Sebagian besar hal yang terasa sewenang-wenang tentang file di iPhone mengikuti satu aturan tentang isolasi, dan sebagian besar hal yang membuat pengunduhan dapat diandalkan mengikuti satu fitur HTTP. Keduanya, ditambah cara file berpindah dari satu perangkat ke perangkat lainnya.

Kotak pasir

Aturannya adalah setiap aplikasi hanya dapat melihat penyimpanannya sendiri. Itu sebabnya satu aplikasi tidak dapat membuka unduhan orang lain, dan mengapa "file ada di sebelah video" bukanlah hal yang ada di iOS.

Setiap aplikasi mendapat direktori privat dan tidak bisa melihat milik aplikasi lain. File berpindah antaraplikasi hanya lewat tindakan yang disengaja — menu bagikan, pemilih dokumen, drag — masing-masing adalah keputusan yang dibuat orangnya, bukan sesuatu yang diambil sendiri oleh aplikasi.

Biayanya muncul di tempat-tempat kecil. Pemutar desktop menemukan film.srt di sebelah film.mkv secara otomatis; di iOS tidak ada "di sebelah", jadi file subtitle harus diserahkan secara sengaja dan aplikasinyalah yang harus mengingat pasangannya.

Lihat juga: Grup aplikasiBookmark dengan cakupan keamanan

Grup aplikasi

Wadah bersama yang bisa dibuka oleh dua aplikasi dari pengembang yang sama — satu-satunya celah yang diizinkan di kotak pasir. Inilah cara ekstensi berbagi menyerahkan file ke aplikasi induknya.

Ekstensi berbagi adalah program terpisah dari aplikasi yang tampak menjadi bagiannya, dengan sandbox sendiri dan usia yang sangat singkat. Ia tidak bisa menulis ke penyimpanan aplikasi utama.

Jadi ia menulis ke wadah yang boleh dilihat keduanya, dan aplikasi mengambil isi wadah itu saat berikutnya dibuka. Tidak ada yang melintasi batas pengembang, dan tidak ada yang melintas tanpa satu ketukan eksplisit.

Lihat juga: Kotak pasir

Bookmark dengan cakupan keamanan

Token yang mengingat izin ke folder di luar kotak pasir — drive eksternal, folder di iCloud — sehingga aplikasi dapat membukanya kembali nanti tanpa bertanya lagi.

Saat Anda memilih lokasi lewat pemilih file sistem, izin yang diberikan hanya berlaku untuk saat itu. Bookmark menyimpannya lintas peluncuran aplikasi, dan aplikasi harus secara eksplisit memulai dan menghentikan penggunaan akses yang diwakilinya.

Inilah yang memungkinkan menjelajahi SSD eksternal tanpa menyalin apa pun ke dalamnya, dan cakupannya persis pada apa yang Anda pilih — bookmark ke satu folder tidak memberi akses apa pun ke folder tetangganya.

Lihat juga: Kotak pasir

Permintaan jangkauan

Meminta server untuk sepotong file tertentu — byte 5.000.000 hingga 5.999.999 — alih-alih semuanya. Inilah yang membuat pengunduhan dapat dilanjutkan dan memungkinkan beberapa koneksi mengambil satu file sekaligus.

Server yang mendukung range akan menjawab dengan 206 Partial Content dan potongan yang diminta. Yang tidak mendukungnya menjawab 200 dan mengirim semuanya dari awal — itulah bedanya antara melanjutkan unduhan dan memulainya lagi dari nol.

Semua hal menarik tentang mesin unduhan bertumpu pada satu fitur HTTP ini. Tanpanya, tidak ada pelanjutan setelah koneksi terputus, tidak ada pelanjutan setelah reboot, dan tidak ada cara memakai lebih dari satu koneksi.

Lihat juga: Unduhan yang dapat dilanjutkanKoneksi paralel

Unduhan yang dapat dilanjutkan

Sebuah transfer yang berlanjut dari titik dimana ia berhenti dan bukan memulainya lagi, dengan mencatat berapa banyak byte yang di-commit dan meminta sisanya.

Syaratnya, angka yang dicatat tidak boleh pernah bersifat optimistis. Byte yang dihitung sudah tertulis padahal masih ada di buffer akan menjadi lubang di file saat aplikasi dimatikan paksa — dan lubang di tengah video adalah kerusakan yang baru terlihat setelah satu jam menontonnya.

Itulah sebabnya hitungannya harus mengikuti penulisan ke disk, bukan pembacaan dari jaringan, dan mengapa setiap serah terima antara transfer di latar depan dan di latar belakang harus sepakat pada satu angka yang sama.

Lihat juga: Permintaan jangkauanPerpindahan latar belakang

Koneksi paralel

multi-koneksi, unduhan terpotong

Memisahkan satu file menjadi beberapa rentang dan mengambil semuanya sekaligus. Ini membantu ketika yang dibatasi adalah satu koneksi, dan tidak berpengaruh apa-apa ketika hambatannya adalah jalur Anda sendiri.

Server yang membatasi kecepatan tiap koneksi sering kali bisa "dibujuk" untuk mengirim lebih banyak data total lewat beberapa koneksi sekaligus. Di sinilah reputasi unduhan multi-koneksi berasal.

Ini bukan sihir, dan sering disalahpahami. Kalau koneksi Anda sudah jenuh, menambah koneksi hanya membagi kapasitas yang sama menjadi potongan lebih kecil sekaligus menambah overhead. Sebagian server juga menolak atau membatasi banyak permintaan dari satu alamat yang sama.

Lihat juga: Permintaan jangkauanUnduhan yang dapat dilanjutkan

Perpindahan latar belakang

Pengunduhan diserahkan ke sistem operasi sehingga tetap berlanjut setelah aplikasi ditutup. Sistem yang menentukan waktunya — itulah kompensasi yang harus dibayar agar transfernya benar-benar terus berjalan.

Aplikasi iOS berhenti berjalan tak lama setelah Anda meninggalkannya. Transfer yang diserahkan ke layanan latar belakang sistem bertahan dari itu, bertahan dari aplikasi yang dimatikan paksa, dan tetap dilanjutkan setelah reboot.

Yang dikorbankan adalah kendali. Sistem mengelompokkan transfer-transfer ini menurut penilaiannya sendiri atas kondisi daya dan jaringan, sehingga unduhan latar belakang bisa berhenti dan lanjut dengan cara yang tidak akan dilakukan unduhan dalam aplikasi — tapi ia akan selesai.

Lihat juga: Unduhan yang dapat dilanjutkanKotak pasir

WebDAV

Ekstensi HTTP yang mengubah server web menjadi server file: daftar, baca, tulis, pindahkan, hapus. Ini adalah apa yang dibicarakan oleh Nextcloud dan ownCloud, dan apa yang ditawarkan sebagian besar kotak NAS.

Karena dasarnya adalah HTTP, WebDAV berjalan lewat infrastruktur yang sama dengan apa pun lainnya di web — tanpa port khusus, tanpa protokol klien khusus — itulah sebabnya ia bertahan sementara protokol file yang lebih rumit tidak.

Bagi orang yang lebih memilih untuk tidak menaruh file di cloud milik sebuah perusahaan, ini alternatif yang praktis: server sendiri, kredensial sendiri, standar biasa.

Lihat juga: Penyimpanan awan

Penyimpanan awan

File disimpan di server orang lain, dijangkau lewat API perusahaan itu — Dropbox, OneDrive, Box, pCloud. Masing-masing punya antarmukanya sendiri, itulah sebabnya aplikasi mendukungnya satu per satu.

Tidak ada protokol cloud yang universal. Setiap penyedia merancang API dan alur masuknya sendiri, jadi menambahkan satu penyedia ke aplikasi adalah kerja sungguhan, bukan sekadar entri konfigurasi.

Proses masuk biasanya lewat OAuth, artinya aplikasi tidak pernah melihat kata sandinya: penyedianyalah yang mengautentikasi orangnya dan mengembalikan token yang bisa dicabut kapan saja lewat pengaturan penyedia itu sendiri.

Lihat juga: WebDAV

WebRTC

Standar untuk menghubungkan dua perangkat secara langsung, tanpa server di antara keduanya setelah koneksi terjalin. Inilah yang dipakai transfer perangkat-ke-perangkat untuk memindahkan file melintasi ruangan.

Server signaling kecil mempertemukan kedua perangkat — inilah gunanya kode enam digit itu — lalu mengundurkan diri. File berpindah langsung antarperangkat dan tidak disimpan di mana pun di antaranya.

Di jaringan yang sama, kecepatannya sebatas yang diizinkan jaringan itu. Lewat internet, itu bergantung pada apakah kedua sisi bisa saling dijangkau langsung — dan di sinilah koneksi kadang gagal karena alasan yang tidak terlihat oleh kedua perangkat.

Lihat juga: Server HTTP lokal

Server HTTP lokal

Sebuah aplikasi yang menjawab permintaan web di jaringan Anda sendiri, sehingga browser web di komputer Anda dapat membuka halaman yang disajikan oleh ponsel Anda. Beginilah cara kerja Transfer Wi-Fi, tanpa kabel dan tanpa akun.

Ponsel menampilkan sebuah alamat; komputer membukanya; halaman yang didapat dilayani oleh ponsel itu sendiri. File berpindah langsung lewat jaringan lokal dan tidak pernah keluar darinya.

Karena siapa pun di jaringan yang sama bisa menjangkau alamat itu, dibutuhkan sebuah kunci — kode yang harus dimasukkan, izin yang diberikan per operasi, dan operasi yang bersifat merusak dimatikan kecuali sengaja diaktifkan.

Lihat juga: WebRTC

Topik lainnya