Apa itu client?

Dalam jaringan rumah maupun korporat, client adalah perangkat keras atau perangkat lunak yang meminta akses ke layanan yang disediakan oleh server. Client biasanya dipandang sebagai program atau user yang melakukan request dalam arsitektur client-server. Perangkat end-user yang berperan sebagai client biasanya berupa PC, laptop, atau smartphone.

Dalam jaringan komputer, client pada model client-server adalah pihak yang meminta layanan atau resource dari server. Server bisa berada di lokasi yang sama (on-premises) atau di luar lokasi (off-premises).

Bagaimana client berinteraksi dengan server?

Pada arsitektur client-server, client berinteraksi dengan server dengan cara mengirim request untuk data atau resource yang tidak bisa dipenuhi sendiri. Client dan server bisa berada di lokasi berbeda dan terhubung melalui jaringan, atau berada di mesin yang sama dan berkomunikasi melalui interprocess communication (IPC).

Pada distributed application framework, tugas dibagi antara server dan client. Tugas yang bisa dijalankan di sisi client disebut sebagai client-side, sementara yang dijalankan di sisi server disebut server-side.

Server biasanya menyediakan resource seperti file, data, akses internet, penyimpanan eksternal, atau daya komputasi. Server menjalankan satu atau lebih program yang bertugas mendistribusikan layanan tersebut ke client yang meminta.

Komunikasi antara client dan server mengikuti pola request-response sesuai protokol komunikasi, misalnya Transmission Control Protocol/Internet Protocol (TCP/IP). Protokol ini mendefinisikan bahasa dan pola komunikasi yang dipakai. TCP, misalnya, menjaga koneksi antara client dan server sampai pertukaran pesan selesai. TCP juga mengatur distribusi data aplikasi, mentransfer dan menerima packet, serta menangani packet yang hilang. Jika server menerima banyak request sekaligus, request tersebut diatur dalam sistem penjadwalan berdasarkan prioritas. Dengan access control, user bisa mengatur izin akses client ke server.

Request and response between client and server
Diagram sederhana proses request dan response antara client dan server.

Client-side vs. server-side

Client-side adalah aksi atau operasi yang terjadi di sisi user, sedangkan server-side adalah aksi atau operasi yang berjalan di server.

Contoh: JavaScript termasuk client-side karena dieksekusi oleh browser (client). Sedangkan Common Gateway Interface (CGI) adalah server-side karena dijalankan di server.

Server bisa berupa Application Server, komputer terpisah, database server, atau web server. Jika sebuah program atau perangkat tidak punya resource untuk menyelesaikan suatu operasi, ia akan bertindak sebagai client dengan mengirim request ke server, lalu operasi tersebut akan diproses di sisi server.

Jenis-jenis client

Ada beberapa tipe client yang biasa didefinisikan:

  • Thick client. Sebagian besar resource dan proses data dijalankan di sisi client. Ketergantungan pada server relatif kecil.
  • Thin client. Tipe ringan yang sangat bergantung pada server untuk resource dan pemrosesan data.
  • Hybrid client. Gabungan antara thin dan thick client. Data diproses secara lokal, tapi penyimpanan data permanen tetap bergantung pada server.
  • Zero client. Lebih ringan dan hemat biaya dibanding thin client. Tidak butuh konfigurasi, tidak menyimpan data di perangkat, dan konsumsi daya lebih rendah.

Contoh client-server

Contoh umum relasi client-server adalah web server, file server, dan mail server. Browser web pada dasarnya adalah client yang mengirim request halaman ke server di seluruh web. Browser mengirim request, lalu server di lokasi lain merespon dengan mengirim file HTML. Komputer yang memproses request dan mengembalikan file HTML tersebut adalah server.

File server adalah komputer yang menyimpan dan mengelola data file sehingga user bisa saling berbagi melalui jaringan tanpa harus memindahkan file secara fisik. Contohnya bisa berupa network attached storage (NAS) atau komputer khusus untuk berbagi file.

File Transfer Protocol (FTP) adalah protokol client-server yang digunakan untuk mentransfer file antar komputer melalui koneksi TCP/IP. Protokol ini menggunakan dua channel komunikasi: command channel untuk kontrol dan data channel untuk mengirim konten file.

Pelajari lebih lanjut tentang thin, thick, dan zero client di artikel ini.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *