Begitu kamu paham bahwa server itu cuma komputer yang mengerjakan sebuah tugas untuk komputer lain, satu pertanyaan langsung muncul dengan sendirinya: tugas yang seperti apa? Karena jawabannya menentukan banyak hal, termasuk sebutan yang kita pakai. Mesin yang membagikan halaman web dan mesin yang menyimpan datamu sama-sama disebut “server”, padahal pekerjaannya benar-benar berbeda — dan di dunia teknologi, server biasanya dinamai mengikuti pekerjaan itu.
Di situlah kuncinya untuk memahami daftar panjang “jenis” server yang terus kamu temui. Tidak satu pun dari mereka adalah mesin dari jenis yang berbeda. Masing-masing cuma pola kerja yang sudah akrab dan cukup sering muncul sampai pantas dapat nama sendiri. Ayo kita bahas satu per satu yang benar-benar bakal kamu temui.
Kenapa “jenis server” sebenarnya “jenis tugas”
Ada satu cara pandang yang sebaiknya kamu kunci dulu sejak awal: jenis server itu menggambarkan sebuah peran, bukan perangkat keras. Komputer fisik yang sama persis bisa jadi web server di pagi hari dan database server di sore hari, cukup dengan menjalankan software yang berbeda. Saat seseorang bilang “nyalain mail server”, maksudnya adalah “jalankan software yang menangani email” — kotak mesinnya di bawah itu biasa saja.
Ini penting karena langsung mematahkan satu kekhawatiran khas pemula: apa aku harus beli “komputer database” khusus? Tidak. Kamu memasang software database di sebuah komputer, dan sekarang komputer itu sedang berperan sebagai database server. Jenisnya tinggal di software dan tugasnya, bukan di chip aneh yang istimewa.
Satu mesin, banyak peran
Satu server bisa memainkan beberapa peran sekaligus. Pada proyek kecil, mesin yang sama bisa melayani halaman web, menjalankan logika aplikasi, sekaligus menyimpan database — ketiga “jenis” itu ditumpuk di satu kotak. Begitu trafik membesar, kamu memisahkan pekerjaan-pekerjaan tadi ke mesin yang berbeda supaya masing-masing bisa diukur dan ditingkatkan sesuai bebannya sendiri. Jenisnya tetap sama; yang berubah cuma cara kamu menyebarkannya.
Kalau kamu ingin penyegaran soal apa itu “sebuah server” sebelum kita iris-iris jadi beberapa jenis, tulisan sebelumnya soal apa itu server sebenarnya sudah membahas dasar yang dijadikan pijakan artikel ini.
Web server
Web server adalah jenis yang paling banyak ditemui orang pertama kali. Tugasnya menerima permintaan dari browser dan mengirim balik konten web — halaman HTML, gambar, stylesheet, skrip, berkas. Saat kamu mengetik sebuah alamat lalu menekan enter, ada web server di suatu tempat yang menangkap permintaan itu dan membalasnya dengan halaman.
Dalam kasus klasiknya, web server membagikan berkas statis: dokumen yang sudah ada di disk, dikirim balik apa adanya. Minta /about.html, dapat about.html. Cepat, sederhana, mudah ditebak.
Browser ──── "GET /about.html" ────► Web server
◄──── berkas HTML-nya ────────
Web server adalah pintu depan publik dari hampir setiap situs. Dia dibangun untuk menangani permintaan dalam jumlah sangat besar secara bersamaan, menyajikan berkas dengan cepat, dan fasih berbicara dalam bahasa web (HTTP). Kalau kamu membangun website, inilah jenis server yang paling sering kamu kerjakan.
Application server
Web server jago membagikan berkas yang sudah ada. Tapi bagaimana dengan halaman yang belum ada — yang harus dibuat khusus untuk tiap pengunjung? Bayangkan dashboard yang menampilkan pesanan milikmu, atau hasil pencarian untuk kata kuncimu. Konten seperti itu harus dihasilkan saat itu juga, dan itulah tugas sebuah application server.
Application server menjalankan program aslimu — kode yang memegang aturan bisnis. Dia menerima sebuah permintaan, menjalankan logika (mengecek siapa kamu, mencari datamu, melakukan perhitungan), lalu menghasilkan sebuah hasil. Kalau web server kebanyakan mengambil, application server berpikir.
Browser ──► Web server ──► Application server ──► (jalankan kodemu,
susun halamannya)
Pada praktiknya web server dan application server sering duduk berdampingan: web server menerima permintaan yang masuk dan, ketika jawabannya perlu dihitung dan bukan sekadar diambil, meneruskannya ke application server. Batas antara keduanya memang kabur di sebagian susunan, tapi pembedanya nyata — yang satu menyajikan berkas, yang satu lagi menjalankan logika.
Database server
Hampir setiap aplikasi perlu mengingat banyak hal: akun pengguna, pesanan, pesan, pengaturan. Informasi yang diingat itu tinggal di sebuah database, dan mesin yang menjalankan software database disebut database server.
Tugas database server seutuhnya adalah menyimpan data secara rapi dan menjawab pertanyaan tentangnya dengan cepat. Kode aplikasi tidak mengaduk-aduk berkas mentah; dia mengirim sebuah query ke database server — “berikan semua pesanan dari user 42” — lalu menerima jawaban yang tertata. Database-lah yang mengurus detail rumit soal menyimpan, mengindeks, dan mengambil kembali, tanpa perlu dipusingkan pihak lain.
App server ──── "cari pesanan untuk user 42" ───► Database server
◄──── ini 3 baris yang cocok ─────────
Database server biasanya ditaruh di belakang aplikasi, tidak diumbar ke internet publik. Pengunjung berbicara dengan web server dan application server; hanya aplikasi yang berbicara dengan database. Pemisahan itu sekaligus jadi langkah pengamanan dan kerapian — datamu punya satu rumah yang dijaga.
File server
File server ada untuk menyimpan berkas dan membolehkan orang atau program di sebuah jaringan menjangkaunya. Bayangkan drive bersama di sebuah kantor tempat semua orang menyimpan dokumen, atau penyimpanan di balik sebuah tombol “download”. Daripada tiap orang menyimpan salinannya sendiri-sendiri, berkas tinggal di satu tempat terpusat dan disajikan saat diminta.
File server peduli pada hal-hal yang tidak terlalu dipusingkan web server: siapa yang boleh membaca atau mengubah berkas tertentu, bagaimana menangani transfer berukuran besar, dan menjaga penyimpanan tetap andal supaya tidak ada yang hilang. “Konten” di sini bukan halaman web yang ditujukan untuk browser — melainkan berkas mentah yang memang untuk dibuka, disunting, atau diunduh.
Mail server
Email terasa serba instan, padahal di belakangnya ada mail server yang melakukan kerja tak terlihat memindahkan pesan ke sana ke mari. Saat kamu mengirim sebuah pesan, mail server-mu mencari tahu di mana mail server penerima berada, menyerahkan pesannya, lalu server itu menyimpannya sampai penerima mengecek kotak masuknya.
Sebenarnya ada beberapa tugas yang dibundel di sini: satu bagian mengirim dan mengarahkan surat keluar menuju tujuannya, bagian lain menerima dan menyimpan surat masuk supaya bisa kamu baca nanti. Mereka mengikuti aturan yang ketat dan sudah berumur puluhan tahun, sehingga mail server mana pun di dunia bisa berbicara dengan mail server lainnya — itulah persisnya kenapa email dari satu penyedia bisa sampai ke seseorang di penyedia yang benar-benar berbeda.
Namanya sudah membocorkan tugasnya
Perhatikan polanya: web server (halaman web), file server (berkas), mail server (surat), database server (database). “Jenis”-nya hampir selalu cuma hal yang dia urus ditambah kata “server”. Begitu kamu menangkap pola ini, istilah baru seperti “media server” atau “game server” menjelaskan dirinya sendiri — itu server yang tugasnya media, atau game.
DNS server
Saat kamu mengetik sebuah nama seperti acy-partner.com, komputermu sebenarnya tidak tahu di mana situs itu berada. Nama itu untuk manusia; jaringan menemukan mesin lewat alamat berupa angka. DNS server adalah penerjemah di antaranya. Kamu menyodorkan sebuah nama, dia mengembalikan alamatnya — seperti buku telepon yang mengubah nama seseorang menjadi nomornya.
Penerjemahan ini terjadi terus-menerus dan diam-diam. Hampir setiap kali kamu memuat apa pun secara online, sebuah pencarian DNS berjalan lebih dulu untuk menemukan ke mana permintaanmu harus dikirim, sebelum web server mana pun bahkan dihubungi. DNS server itu pendiam tapi vital; saat dia bermasalah, situs tampak “mati” padahal server aslinya berjalan baik-baik saja — komputermu cuma tidak bisa menemukan jalannya.
Proxy server
Proxy server adalah perantara yang duduk di antara client dan server lain, meneruskan permintaan atas nama seseorang. Kata “proxy” berarti “pengganti”, dan persis itulah perannya: daripada berbicara langsung dengan sebuah server, kamu berbicara dengan proxy, lalu proxy yang berbicara dengan server itu untukmu.
Kenapa repot menambahkan perantara? Tergantung dia menghadap ke arah mana:
- Forward proxy duduk di depan client, sering untuk menyaring, menyimpan cache, atau menyembunyikan siapa yang sebenarnya membuat permintaan — lazim di dalam jaringan perusahaan.
- Reverse proxy duduk di depan server, menerima semua trafik yang masuk lalu diam-diam menyerahkannya ke server yang tepat di belakangnya. Ini pola andalan untuk situs sungguhan: satu pintu masuk yang menghadap publik, yang membagi-bagi pekerjaan, menambah lapisan keamanan, dan bisa menyimpan cache jawaban supaya server di belakangnya bekerja lebih sedikit.
Client ──► Reverse proxy ──┬──► Web server A
├──► Web server B
└──► App server
Kamu belum perlu detailnya — cukup bentuknya saja. Proxy adalah penengah yang sengaja dipasang, dan reverse proxy khususnya muncul di mana-mana begitu sebuah situs tumbuh melewati satu mesin.
Beberapa lagi yang akan sering kamu dengar
Daftar di atas mencakup para pemain utama. Ada sekumpulan kecil lainnya yang cukup sering muncul sampai layak dikenali:
- DHCP server — membagikan alamat jaringan ke perangkat saat mereka bergabung ke sebuah jaringan, supaya tiap perangkat otomatis dapat alamat yang berfungsi tanpa harus disetel satu per satu dengan tangan.
- FTP server — server khusus untuk mentransfer berkas masuk dan keluar, cara lama tapi masih terlihat untuk mengunggah ke sebuah situs.
- Game server — menjaga keadaan bersama sebuah game multipemain tetap sinkron supaya tiap pemain melihat dunia yang sama.
- Media / streaming server — menyimpan dan menstreamkan audio atau video, mengantarkannya dengan mulus saat kamu menonton atau mendengarkan.
- Print server — mengelola printer di sebuah jaringan supaya banyak orang bisa berbagi pakai.
Tidak satu pun dari ini mengubah inti idenya. Masing-masing adalah server yang dinamai sesuai tugasnya, menjalankan software yang dibangun untuk tugas itu, di atas komputer yang sebenarnya biasa saja.
Bagaimana semuanya bekerja sama
Pada aplikasi web yang nyata dan sederhana, beberapa jenis ini bekerja sama menangani satu permintaan. Bayangkan memuat sebuah halaman yang menampilkan akunmu:
1. DNS server → ubah nama situs jadi sebuah alamat
2. Reverse proxy → tangkap permintaannya, arahkan terus
3. Web server → sajikan bagian statis (gambar, CSS)
4. App server → jalankan kode yang menyusun halamanmu
5. Database server → suplai data pribadimu
→ halaman yang sudah jadi kembali ke browser-mu
Lima “jenis”, berpotensi lima peran, mungkin di satu mesin saat kecil atau banyak mesin saat besar. Itulah inti pelajarannya: jenis server bukan kategori yang saling bersaing yang harus kamu pilih salah satu — melainkan peran yang saling bekerja sama yang kamu susun bersama, masing-masing menangani potongan kerja yang paling dia kuasai.
Penutup
Ini seluruh petanya dalam satu tempat:
- Jenis server adalah sebuah tugas, bukan perangkat keras yang istimewa. Mesin yang sama bisa memainkan peran berbeda dengan menjalankan software berbeda.
- Web server — menyajikan halaman web dan berkas ke browser; pintu depan yang menghadap publik.
- Application server — menjalankan logika programmu untuk menyusun jawaban yang belum tersedia sebagai berkas.
- Database server — menyimpan data dan menjawab query, biasanya ditaruh di belakang aplikasi.
- File server — menyimpan berkas dan membagikannya lewat sebuah jaringan.
- Mail server — mengirim, mengarahkan, menerima, dan menyimpan email.
- DNS server — menerjemahkan nama yang ramah manusia menjadi alamat berupa angka yang dipakai mesin.
- Proxy server — perantara yang sengaja dipasang; reverse proxy khususnya jadi muka dari situs-situs sungguhan.
- Plus para pemeran pendukung: DHCP, FTP, game, media, dan print server — masing-masing dinamai sesuai yang dia kerjakan.
Pelajaran besarnya adalah kamu tidak perlu menghafal katalog yang baku — kamu belajar membaca namanya. “Server X” hampir selalu berarti “server yang tugasnya X”. Berikutnya, ada baiknya mengintip ke dalam cara kerja server sebenarnya ketika sebuah permintaan datang, supaya peran-peran ini berhenti jadi sekadar label dan mulai jadi sesuatu yang bisa kamu bayangkan bergerak.