Dalam ilmu Komputer, client-server adalah model arsitektur perangkat lunak yang terdiri dari dua bagian, sistem klien dan sistem server, keduanya berkomunikasi melalui jaringan komputer atau pada komputer yang sama. Aplikasi client-server adalah sistem terdistribusi yang terdiri dari perangkat lunak client dan server. Aplikasi client server menyediakan cara yang lebih baik untuk berbagi beban kerja, proses client selalu memulai koneksi ke server, sedangkan proses server selalu menunggu permintaan dari klien manapun.
Apabila proses klien dan proses server berjalan pada komputer yang sama, ini disebut single seat setup.
Jenis lain dari arsitektur perangkat lunak terkait dikenal sebagai peer-to-peer, karena setiap host atau instance aplikasi dapat secara simultan bertindak sebagai klien dan server (tidak seperti server terpusat pada model client-server) dan karena masing-masing memiliki tanggung jawab dan status yang setara. Arsitektur peer-to-peer sering disingkat menggunakan akronim P2P.
Hubungan klien-server menggambarkan hubungan antara klien dan bagaimana klien membuat permintaan layanan ke server, dan bagaimana server dapat menerima permintaan ini, memprosesnya, dan mengembalikan informasi yang diminta ke klien. Interaksi antara klien dan server sering digambarkan dengan menggunakan sequence diagram. Diagram urutan distandarisasi dalam Unified Modeling Language.
Baik arsitektur client-server maupun P2P digunakan secara luas saat ini.
Jenis dasar arsitektur perangkat lunak klien-server hanya menggunakan dua jenis host: klien dan server. Jenis arsitektur ini kadang-kadang disebut sebagai two-tier. Arsitektur dua tingkat berarti bahwa klien bertindak sebagai satu tingkat dan proses server bertindak sebagai tingkat lainnya.
Arsitektur perangkat lunak client-server telah menjadi salah satu model dasar komputasi jaringan. Banyak jenis aplikasi yang telah ditulis menggunakan model client-server. Fungsi-fungsi jaringan standar seperti pertukaran E-mail, akses web dan akses database, didasarkan pada model client-server. Misalnya, web browser adalah program klien di komputer pengguna yang dapat mengakses informasi di server web mana pun di dunia.


