תפריט

איך עובד דואר זמני: מסירה, תפוגה ואובדן

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

פורסם

  • דואר זמני
  • מסירת דואר
  • תפוגה

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

שני החצאים של כל כתובת

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

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

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

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

נתיב המסירה, שלב אחר שלב

סדר האירועים קבוע, וכל שלב הוא מקום שבו הודעה יכולה להתעכב או לרדת.

  1. משהו מפעיל הודעה: טופס הרשמה, איפוס סיסמה, אירוע הזמנה.
  2. המערכת השולחת מאתרת את הדומיין של הנמען ושואלת איזה שרת מקבל דואר עבורו.
  3. נוצר קשר עם השרת הזה ומוצעת לו ההודעה.
  4. השרת המקבל מחליט אם לקבל אותה, ואם כן הוא מאחסן אותה.
  5. הלקוח, או העמוד שמולו יושבים, קורא אחר כך את מה שאוחסן.

השלב האמצעי הוא זה שאנשים שוכחים. דומיין חייב לפרסם רשומה שמציינת את שרת הדואר המקבל שלו; בלעדיה, לדואר עבור אותו דומיין אין לאן להגיע והשולח מוותר. המנגנון מתוקנן במסמך התעבורה של IETF, RFC 5321, ומשם גם נובע הכלל שהמסירה היא א-סינכרונית. שולח מוסר הודעה וממשיך הלאה; הוא אינו ממתין לכניסה לחשבון.

מדוע כתובת זמנית פגה?

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

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

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

האם הודעה איטית היא הודעה שאבדה?

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

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

מה עושה עמוד תיבת הדואר כאן

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

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

כתובת שמופקת כאן שייכת למטלה שהזדקקה לה ולאיש. היא נתון בדיקה, נשמרת למטרת בדיקה בלבד, ואסור להעתיק אותה לפרופיל, לרשימת תפוצה או לכל מרשם של אנשים אמיתיים.

למפתחים: סקרים, ניסיונות חוזרים וכתובות מבודדות

שלוש החלטות קובעות אם בדיקות מבוססות דואר יהיו יציבות.

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

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

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

מאמר בדיקת תהליכי אימות מעמיק במה שנתיב האימות עצמו אמור להוכיח.

צעדים הבאים

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

המשך קריאה

מדריכים בנושא דואר זמני (דואר חד-פעמי / דואר 10 דקות)