Większość programów sieciowych działa zgodnie z architekturąklient/serwer. Architektura ta polega na dialogu dwóch składników zgodnie z ustaloną konwencją.
Serwer jest programem gotowym do wykonania pracy, o ile zostanie zgłoszone takie zapotrzebowanie. Nasłuchuje w tym celu, oczekując na zapytania zgłaszane siecią.
Klient jest programem obsługiwanym przez człowieka. Operator programu klienta zgłasza swoje życzenia. Program klienta przekłada te życzenia na język porozumienia się z serweremi transmituje je do serwera. Serwer te zapytania przetwarza i transmituje odpowiedź do programu klienta, a ten przedstawia otrzymaną odpowiedź w formie przystępnej dla operatora.