Koneksi client-server adalah koneksi antara dua atau lebih sistem di mana satu bertindak sebagai server dan yang lain bertindak sebagai klien. Ini biasanya dilakukan untuk memungkinkan informasi dapat diakses oleh banyak pengguna di jaringan besar. Koneksi tersebut dapat digunakan dalam skala kecil, seperti untuk jaringan bisnis lokal, atau untuk jaringan skala besar seperti yang digunakan dalam game online atau situs jejaring sosial. Koneksi client-server bisa langsung, antara dua mesin, atau mungkin tidak langsung dan melibatkan beberapa lapisan sistem yang saling berhubungan.
Koneksi klien-server adalah salah satu aspek terpenting dari setiap desain sistem klien-server, dan ini bisa berupa koneksi fisik atau koneksi jarak jauh melalui beberapa relai. Namun, secara umum, koneksi ini pada dasarnya terdiri dari cara apa pun di mana dua atau lebih sistem terpisah, klien dan server, dapat berkomunikasi untuk mengirimkan data. Koneksi klien-server bisa sangat sederhana, seperti mesin yang bertindak sebagai server yang terhubung ke komputer lain melalui koneksi fisik, seperti kabel Ethernet, atau lebih rumit, seperti server yang terhubung ke ribuan pengguna melalui Internet.
Koneksi client-server sederhana dapat berupa koneksi fisik antara satu server dan satu atau beberapa klien. Server bertindak sebagai sistem tempat data dapat disimpan, di mana satu atau lebih mesin klien dapat dihubungkan. Mesin klien dapat digunakan secara individual dan tanpa informasi yang diperlukan di server, meskipun mereka dapat memperoleh akses ke data yang disimpan di server. Ketika permintaan server dikirim oleh klien, server merespons dengan mengirimkan data yang diminta melalui koneksi itu ke klien.
Jaringan yang rumit dapat dibuat di mana koneksi client-server ini diulang ratusan atau ribuan kali. Sebuah situs jaringan sosial utama atau layanan game online dapat menyediakan ribuan atau ratusan ribu klien dengan koneksi ke server. Beberapa server kemudian dapat digunakan untuk meningkatkan jumlah pengguna yang dapat terhubung sebagai klien, sehingga jutaan klien dapat terhubung ke berbagai server ini untuk akses informasi. Sistem bertingkat sering dibuat untuk mengurangi ketegangan pada server, menyediakan sistem antara klien dan server yang dapat menangani permintaan tertentu atau bertindak untuk “mengarahkan lalu lintas” ke server. Koneksi client-server berbeda dengan koneksi peer-to-peer di mana masing-masing klien terhubung satu sama lain, alih-alih server, untuk berbagi data.