וואלה
וואלה
וואלה
וואלה

וואלה האתר המוביל בישראל - עדכונים מסביב לשעון

איך עובד המייל שלכם?

ארז בן ארי

12.4.2007 / 14:13

אז מה בעצם קורה כשאתם כותבים הודעה בתוכנת המייל ולוחצים "שלח"? הנה ההסבר, שתדעו

שליחת אימייל היא הדבר הקל ביותר בעולם. אתה כותב כמה שורות, מקליד כתובת ולוחץ "שלח", ובתוך שניות ההודעה מגיעה לקצה השני של העולם. המשימה הקטנה והפשוטה הזו יוצרת מלחמה שלמה מאחורי הקלעים של המחשב שלך!

שליחת דואר אלקטרוני היא, כאמור, משימה לא פשוטה בשביל המחשב, אך למרבה הפלא היא מתבססת על טכנולוגיות שפותחו לפני עשרות שנים – הרבה לפני שרובנו שמעו על מחשבים או אנטרנט. גם פה התקשורת מבוססת על סדרה מורכבת של חוקים וכללים, כדי שתוכל להתבצע תקשורת חלקה בין סוגים שונים של מחשבים ומערכות. הפרוטוקול הראשי שבו נעשה שימוש נקרא SMTP, קיצור של Simple Mail Transfer Protocol. כאשר אתם מפעילים את תוכנת הדואר האלקטרוני שלכם ויוצרים הודעה חדשה, המחשב יוצר קשר עם שרת מיוחד שתפקידו לקבל את ההודעה. כל ספק אינטרנט בעולם מפעיל שרת כזה עבור לקוחותיו. השרת של חברת נטויז'ן, למשל, נקרא mailgw.netvision.net.il, ולמעשה אין מדובר בשרת בודד אלא במערכת ענקית המורכבת מעשרות שרתים שמחלקים ביניהם את העבודה כדי להצליח להתמודד עם מיליוני ההודעות שמנויי נטויז'ן שולחים ומקבלים מדי יום. את שמו של השרת יודע המחשב שלך מכיוון שזה הוגדר לו באופן אישי – זהו תהליך פשוט וקצר שאותו עושים לרוב פעם אחת בעת התקנת תוכנת הדואר האלקטרוני וזהו. בדומה ליצירת קשר עם שרת אינטרנט, המחשב שלך צריך לברר את כתובתו המספרית של השרת, וזה נעשה בעזרת שירות DNS שעליו דיברנו בכתבה הקודמת בסדרה. בשלב הבא, נוצרת שיחה בין המחשב שלכם לבין השרת, וזה דומה מאוד לשיחה באנגלית.

המחשב שלכם אומר לשרת את המילה HELO (עם L אחת), ובתגובה מקבל תשובה בנוסח דומה. לאחר מכן המחשב מודיע לשרת כי יש לו הודעה מאת פלוני המיועדת עבור אלמוני ולאחר מכן מתחיל לשלוח את הטקסט של ההודעה. כל התקשורת הזו נעשית בטקסט רגיל שאותו יכול כל אדם לראות ולהבין. הנה דוגמא לשיחה כזו:

S: 220 www.site.com ESMTP Postfix
C: HELO site.com
S: 250 Hello site.com
C: MAIL FROM:me@mail.com
S: 250 Ok
C: RCPT TO:jo@aol.com
S: 250 Ok
C: DATA
S: 354 End data with CRLF.CRLF
C: Subject: Hi Buddy
C: From: me@mail.com
C: To: jo@aol.com
C: Hello,
C: This is a test.
C: Goodbye.
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye

*שורות המתחילות ב – S נאמרות על ידי השרת. שורות המתחילות ב – C נאמרות על ידי השולח.

לאחר שנסתיימה השיחה, השרת של ספק האינטרנט שלכם שומר את פרטי ההודעה ותוכנה בקובץ טקסט פשוט על הדיסק הקשיח שלו, בתוך תיקייה המיועדת לכך. בהמשך, מוטל על השרת למצוא את היעד של ההודעה ולהעביר אותה. הוא מבצע זאת על ידי בדיקת כתובת המטרה. אם, למשל, ההודעה מיועדת עבור joe@aol.com, הוא בודק מי שרת הדואר של חברת AOL, כדי ליצור איתו קשר. גם בדיקה זו נעשית באמצעות שרתי ה-DNS. לאחר מכן יוצר השרת קשר ישירות עם השרת של AOL ומעביר לו את ההודעה בצורה דומה מאוד למה שתיארנו למעלה, כאשר בסוף התהליך נשמרת ההודעה על הדיסק של השרת של AOL. פה נעשה תהליך נוסף שבו השרת של AOL בודק אם בכלל קיים אצלו משתמש בשם הזה. במידה ולא, כבר בתחילת השיחה הוא מודיע לשרת שמנסה להעביר לו את ההודעה על כך שאין לו למי להעביר את ההודעה, וכך נוצרת הודעה-חוזרת שמטרתה לדווח למי ששלח את ההודעה המקורית על כך שהוא שלח הודעה לכתובת שלא קיימת. למרבה הצער, הודעות-השגיאה הללו לעיתים קרובות מנוסחות בצורה מבלבלת ומלאה מספרים והודעות סתומות ורבים לא מבינים את משמעותם.

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

טרם התפרסמו תגובות

הוסף תגובה חדשה

+
בשליחת תגובה אני מסכים/ה
    0
    walla_ssr_page_has_been_loaded_successfully