שרת–לקוח – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה
הרחבה
שורה 1:
{{בעבודה}}
[[File:Server-based-network.svg|שמאל|ממוזער|250px|במרכז - [[שרת]], ומסביבו מחוברים לקוחות]]
'''מודל שרת-לקוח''' (ב[[אנגלית]]: '''client-server model''') היא [[ארכיטקטורת תוכנה]] ל[[חישוב מבוזר]], אשר מגדירה את היחס בין [[תוכנה|תוכנות]] משתפות פעולה. המודל מחלק את המשימות או עומס העבודה בין ספק השירות או המשאבים - '''[[שרת|השרת]]''', לבין מבקש השירות - '''הלקוח'''. שרת-לקוח היא אחת מתצורות ההתקשרות הנפוצות ב[[תקשורת נתונים|רשתות מחשבים]]. השרת הוא תוכנה פסיבית, המאזינה לרשת ומחכה לקבל בקשות. הלקוח לעומתו בדרך כלל מהווה את [[ממשק משתמש|ממשק המשתמש]] - הוא מופעל על ידי המשתמש ופונה לשרת כאשר הוא זקוק למידע או שירותים ממנו.
 
'''מודל שרת-לקוח''' (ב[[אנגלית]]: '''client-server model''') היא [[ארכיטקטורת תוכנה]] ל[[חישוב מבוזר]], אשר מגדירה את היחס בין [[תוכנה|תוכנות]] משתפות פעולה. המודל מחלק את המשימות או עומס העבודה בין ספק השירות או המשאבים - '''[[שרת|השרת]]''', לבין מבקש השירות - '''הלקוח'''. שרת-לקוח היא אחת מתצורות ההתקשרות הנפוצות ב[[תקשורת נתונים|רשתות מחשבים]]. השרת הוא תוכנה פסיבית, המאזינה לרשת ומחכה לקבל בקשות. הלקוח לעומתו מהווה את [[ממשק משתמש|ממשק המשתמש]] - הוא מופעל על ידי המשתמש ופונה לשרת כאשר הוא זקוק למידע או שירותים ממנו.
 
בדרך כלל, תוכנות השרת והלקוח רצות על גבי [[מחשב|מחשבים]] נפרדים והתקשורת ביניהן מתבצעת על גבי [[רשת מחשבים]]. עם זאת, תוכנות השרת והלקוח יכולות לפעול גם על גבי אותו מחשב. מכונת שרת הוא מחשב המריץ תוכנת שרת אחת או יותר, אשר חולקת את המשאבים שלה עם הלקוחות. הלקוח אינו חולק את המשאבים שלו, אלא מבקש תכנים ושירותים (ביצוע פונקציות) מהשרת. לפיכך, הלקוח הוא זה שיוזם את ההתקשרות עם השרת, אשר ממתין לבקשות נכנסות.
 
מודל שרת-לקוח הפך לאחד מהרעיונות המרכזיים ב[[תקשורת נתונים|רשתות מחשבים]]. הרבה מה[[יישום|יישומים]] העסקיים הנכתבים כיום משתמשים במודל זה, כמו גם [[פרוטוקול תקשורת|פרוטוקולי התקשורת]] העיקריים של ה[[אינטרנט]], כגון [[Telnet]] ,[[SSH]] ,[[SMTP]] ,[[DNS]] ,[[HTTP]] ועוד.
 
את האינטראקציה בין לקוח ושרת נוהגים לתאר באמצעות [[תרשים הרצף|תרשימי הרצף]] במסגרת ה-[[Unified Modeling Language]].
 
== דוגמאות ==
[[File:Client-server-model.svg|שמאל|ממוזער|250px|סכמה המתארת את הקשר בין שרת ללקוחות]]
שירותים כגון [[דואר אלקטרוני]] (לדוגמה: [[שרת Exchange]]), גישה ל[[אתר אינטרנט|אתרי אינטרנט]], וגישה ל[[בסיס נתונים|בסיסי נתונים]], כולם בנויים במודל שרת-לקוח.
 
לדוגמה, משתמש הניגש ל[[חשבון בנק|חשבון הבנק]] שלו דרך המחשב, משתמש ב[[דפדפן]] המשמש כתוכנת לקוח על מנת לשלוח בקשה ל[[שרת HTTP]] של הבנק. שרת ה-HTTP יכול בתורו להעביר את הבקשה לתוכנת לקוח בסיס נתונים שהוא מריץ, אשר שולחת בקשה ל[[שרת בסיס נתונים]] שנמצא על גבי מחשב אחר של הבנק, על מנת לאחזר את פרטי החשבון של המשתמש. מצב החשבון מוחזר לתוכנת לקוח בסיס הנתונים, שמחזירה את הנתונים לדפדפן (תוכנת הלקוח של המשתמש), אשר לבסוף מציג את הנתונים למשתמש.
 
דוגמאות ספציפיות לתוכנות לקוח: [[דפדפן|דפדפנים]], לקוחות [[דואר אלקטרוני]] (לדוגמה: [[Microsoft Outlook]]), לקוחות [[צ'אט]], ועוד.
 
דוגמאות ספציפיות לתוכנות שרת: [[שרת HTTP|שרתי HTTP]], שרתי [[FTP]], [[שרת יישומים|שרתי יישומים]], [[שרת בסיס נתונים|שרתי בסיסי נתונים]], שרתי דואר, שרתי קבצים, שרתי הדפסה, ועוד.
 
רוב ה-[[web service|web services]] הם גם סוגים של שרתים.
 
== סוגי לקוחות ==
[[File:ClientronU700.jpg|שמאל|ממוזער|150px|השוואה בין [[מחשב אישי]] טיפוסי (משמאל) לבין "לקוח רזה" (מימין)]]
נהוג להפריד את הלקוחות ללקוח "רזה" (thin client), כזה שמסוגל רק לבצע את ההתחברות לשרת, והשרת הוא זה שמנהל את כל התקשורת עם המשתמש, ולקוח "עשיר" (rich client), כזה שמבצע את כל האינטרקציה עם המשתמש בעצמו, ופונה לשרת רק על מנת לאחזר נתונים. בעבר היה שימוש נפוץ ב[[מסוף מחשב|מסופים]], שהיוו לקוחות "רזים", התחברו ל[[מחשב מרכזי]] (MainFrame) וביצעו את כל הפעולות עליו, אך עם ההתקדמות המהירה של המחשבים האישיים הם נדחקו הצידה ב[[שנות התשעים]] ופינו את מקומם ללקוחות "עשירים", המקטינים את תעבורת הרשת ואת העומס על השרת. התפתחות ה[[אינטרנט]] והגידול ב[[רוחב פס|רוחב הפס]] החזירו את הלקוח הרזה למרכז התמונה.