Server tanpa client sama seperti rumah tanpa penghuni, maka dibutuhkan client yang menggunakan jasa dari server. Client dan server saling berhubungan secara timbal balik. Server secara selektif menyediakan sumber daya yang dibutuhkan, dan client melakukan koneksi ke server untuk meminta sumber daya tersebut.
Komunikasi client server bekerja dengan cara request-response, dimana client meminta lalu server mengirim. Antara client dan server harus menggunakan aturan yang sama, kapan mengirim, kapan menerima, dan apa yang harus dikirim dan diterima. Semua aturan ini dinamakan protocol, yaitu cara komunikasi antara dua pihak atau lebih.
Server menyediakan berbagai macam layanan, web server menyediakan halaman web, file server menyedakan file computer. Tapi, secara tidak langsung, untuk memproses halaman atau file yang diminta, server harus menggunakan sumber dayanya seperti RAM, Hardisk, CPU, dsb.
Contoh komunikasi Client dan Server
Ada sebuah bank yang memiliki server, nasabah menggunakan web browser (client) untuk mengakses data dari server. Nasabah meminta halaman web melalui web server dengan protocol HTTP. Server meminta nasabah untuk memasukkan informasi nama dan kata sandi untuk masuk ke dalam server. Server menjalankan aplikasi database, dan menerima data dari database, misalkan nasabah ingin melihat data transaksinya selama ini. Maka hasil dari server tersebut diterjemahkan sesai dengan aturan bank tersebut, dilewatkan lagi melalui protocol HTTP, dan akhirnya diterima kembali oleh client.
Contoh aplikasi yang menerapkan konsep komunikasi Client dan Server
Setiap aplikasi memakai protokol yang sesuai, apache yang merupakan aplikasi untuk web server memakai protokol HTTP, filezilla yang merupakan aplikasi untuk transfer file memakai protokol FTP, dll. Protokol-protokol inilah yang membuat aplikasi dapat melayani banyak client sekaligus.