שרת-לקוח

במרכז - שרת, ומסביבו מחוברים לקוחות

מודל שרת-לקוחאנגלית: Client-server model) היא ארכיטקטורת תוכנה לחישוב מבוזר, אשר מגדירה את היחס בין תוכנות משתפות פעולה. המודל מחלק את המשימות או עומס העבודה בין ספק השירות או המשאבים - השרת, לבין מבקש השירות - הלקוח. שרת-לקוח היא אחת מתצורות ההתקשרות הנפוצות ברשתות מחשבים. השרת הוא תוכנה פסיבית, המאזינה לרשת ומחכה לקבל בקשות. הלקוח לעומתו בדרך כלל מהווה את ממשק המשתמש - הוא מופעל על ידי המשתמש ופונה לשרת כאשר הוא זקוק למידע או שירותים ממנו.

בדרך כלל, תוכנות השרת והלקוח רצות על גבי מחשבים שונים והתקשורת ביניהן מתבצעת על גבי רשת מחשבים. עם זאת, תוכנות השרת והלקוח יכולות לפעול גם על גבי אותו מחשב. מכונת שרת הוא מחשב המריץ תוכנת שרת אחת או יותר, אשר חולקת את המשאבים שלה עם הלקוחות. הלקוח אינו חולק את המשאבים שלו, אלא מבקש תכנים ושירותים (ביצוע פונקציות) מהשרת. לפיכך, הלקוח הוא זה שיוזם את ההתקשרות עם השרת, אשר ממתין לבקשות נכנסות.

מודל שרת-לקוח הפך לאחד מהרעיונות המרכזיים ברשתות מחשבים. הרבה מהיישומים העסקיים הנכתבים כיום משתמשים במודל זה (ראו: Enterprise software), כמו גם פרוטוקולי התקשורת העיקריים של האינטרנט, כדוגמת: Telnet,‏ SSH,‏ SMTP,‏ DNS,‏ HTTP, ועוד.

את האינטראקציה בין לקוח ושרת נוהגים לתאר באמצעות תרשימי הרצף במסגרת ה-Unified Modeling Language.