Internet Download Manager atau sering di singkat IDM adalah salah satu software primadona bagi para Maniak Download. Hal ini tidak mengherankan mengingat kemampuan IDM yang mampu mempercepat proses download hingga 5x lipat bahkan lebih. Namun pernahkah anda bertanya bagaimana IDM bisa seperti itu?
Cara Kerja IDM
Secara normal ketika kamu download file dari sebuah server, maka komputer kamu akan melakukan request ke server tersebut dan mendownload dengan satu koneksi saja (Single File Stream). Padahal sebenarnya mayoritas server memungkinkan satu IP untuk melakukan beberapa koneksi (Multiple File Stream). Nah..IDM memanfaatkan ini.
Cara kerja IDM yang pertama adalah IDM melakukan proses testing terhadap server tersebut, apakah server tersebut support untuk beberapa koneksi untuk satu IP atau tidak. Jika ternyata server tersebut mendukung untuk beberapa koneksi, maka IDM selanjutnya akan meminta ke pada server tersebut untuk mengunduh file.
Ketika kamu mendownload file melalui IDM, maka IDM akan melakukan testing apakah server tersebut support koneksi Multiple File Stream untuk satu IP. Jika ternyata support, maka IDM akan melakukan request ke server tersebut dan akan mendapatkan detail Byte Stream dari file yang ingin kamu download.
IDM kemudian akan membuat 8 request koneksi ke server tersebut dalam waktu yang bersamaan menggunakan Threads, Setiap threads akan melakukan request untuk mendownload file dengan awal Byte Stream yang berbeda.
Sebagai contoh jika file tersebut memiliki ukuran 8000 byte, maka IDM akan mengirimkan request sebanyak 8 koneksi untuk mendownload file tersebut dengan awal bytes yang berbeda.
- Request 1, byte awal = 0. Byte yang didownload: 0 – 999
- Request 2, byte awal = 1000. Byte yang didownload: 0 – 1999
- Request 3, byte awal = 2000. Byte yang didownload: 0 – 2999
- Request 4, byte awal = 3000. Byte yang didownload: 0 – 3999
- Request 5, byte awal = 4000. Byte yang didownload: 0 – 4999
- Request 6, byte awal = 5000. Byte yang didownload: 0 – 5999
- Request 7, byte awal = 6000. Byte yang didownload: 0 – 6999
- Request 8, byte awal = 7000. Byte yang didownload: 0 – 8000
Karena melakukan 8 request downlaod ke file yang sama secara bersamaan dengan byte awal yang berbeda, maka server memberikan alokasi bandwidth tersendiri untuk masing-masing koneksi. Hasilnya proses download bisa berjalan dengan lebih cepat dibandingkan dengan melakukan download melalui satu koneksi saja.
Pecahan file yang sudah terdownload akan digabungkan lagi menjadi satu file yang utuh ketika proses download sudah selesai.
IDM Tidak bisa dipause dan diresume?
Jika server memungkinkan beberapa koneksi untuk satu IP (Multiple File Stream), maka proses diatas akan terjadi. File bisa didownload dengan lebih cepat, bisa dipause, dan bisa diresume.
Tetapi jika ternyata server tidak memperbolehkan Multiple File Stream dan hanya memberikan satu akses koneksi saja untuk satu IP, maka yang terjadi adalah IDM mendownload satu file tersebut secara langsung melalui satu koneksi, tidak bisa di pause, dan tidak bisa diresume.