Multipurpose Internet Mail Extensions
סיווג פרוטוקולים על פי מודל ה־OSI | ||
---|---|---|
שכבת היישום | HTTP • SMTP • FTP • RTP • IRC • SNMP • SIP • DNS • DHCP | |
שכבת הייצוג | MIME • ASCII • Unicode • TLS | |
שכבת השיחה | ASP • PPTP • SSH • NFS • RPC • SOCKS | |
שכבת התעבורה | TCP • UDP • SCTP • DCCP | |
שכבת הרשת | IP (IPv4 • IPv6) • ICMP • IPX • ניתוב | |
שכבת הקו | אתרנט • Token ring • FDDI | |
השכבה הפיזית | E1 • 10Base-T • RS-232 • DSL • SONET |
Multipurpose Internet Mail Extensions (או בקיצור MIME) הוא תקן אשר מרחיב את יכולות העברת המידע בדואר אלקטרוני. תקן MIME מוסיף לדואר אלקטרוני תמיכה ב:
- טקסט שאינו בקידוד ASCII פשוט. כלומר התקן מאפשר שליחת הודעות דואר אלקטרוני שמקודדות בצורות שונות, ובכך מאפשר למשל שליחת הודעות בעברית על ידי קידודן בתקן שתומך באלפבית העברי כמו UTF-8.
- צירוף קבצים (Attachments) שאינם טקסטואליים לדואר אלקטרוני. התקן מאפשר צירוף קבצים מסוגים שונים, כמו למשל קבצי תמונה או וידאו.
- הודעות שגוף ההודעה מורכב ממספר חלקים שונים. התקן מאפשר לשלוח הודעת דואר אלקטרוני אחת, שמורכבת ממספר חלקים, כך שלכל חלק ניתן להתאים קידוד משלו.
- פתיח הודעה (Header) שאינו מקודד ב- ASCII. פתיח הודעת דואר אלקטרוני מכיל מידע כמו כתובת השולח, כתובת המקבל, נושא ההודעה, תאריך, מידע על קבצים מצורפים וכו'. אפשרות זו מאפשרת לשלוח את נושא ההודעה ושמות השולח והמקבל גם כן בקידודים שונים.
כמעט כל הדואר האלקטרוני כיום נשלח בפרוטוקול SMTP בפורמט MIME.
סוגי התוכן המוגדרים בתקני ה-MIME, הינם בעלי חשיבות גם מחוץ לדואר האלקטרוני. גם תקן ה-HTTP, לדוגמא, מעביר הודעות בפורמט MIME, למרות שהודעות אלו לא חייבות להיות הודעות דואר אלקטרוני.
תמיכה בתקן
פרוטוקול הדואר האקלקטרוני הבסיסי הוא SMTP. פרוטוקול זה תומך רק בהודעות שמקודדות ב-ASCII של 7 סיביות, ולכן לא תומך ברוב השפות ובצירוף רוב הקבצים. MIME מגדיר מנגנון שמרחיב את עולם הדואר האלקטרוני לשפות שונות ומאפשר צירוף קבצים שונים. הודעות הדואר ממופות אל ומתוך פורמט MIME בשרתי הדואר האלקטרוני או בתוכנות הלקוח.
תקן MIME מגדיר למעשה שדות אופציונלים נוספים לפתיח של הודעת דואר אלקטרוני, ואת דרך הטיפול בהן. שדות אלו יקראו בשרת או בתוכנת הלקוח, ויתורגמו בהתאם.
אחד היעדים של מפתחי תקן MIME היתה תמיכה לאחור בשרתי הדואר הקיימים, בכדי למנוע צורך בשדרוג כל השרתים הקיימים. פיתוח התקן החדש חייב היה לאפשר לשרתים הישנים שלא תומכים בתקן להמשיך לשלוח ולקבל הודעות דואר אלקטרוני בפורמט טקסט רגיל ("plain-text") גם משרתים שתומכים בתקן החדש. מטרות אלו הושגו על ידי הוספת שדות ספציפיים ל- MIME לפתיח של הודעת דואר אלקטרוני. שדות אלו הם אופציונלים ובעלי ערכי ברירת מחדל. משמעות הדבר היא, שבמידה והם לא קיימים, משתמשים בערכי ברירת המחדל שמגדירים את ההודעה כהודעת טקסט רגיל. בכך הובטח שהודעות שיגיעו משרת ישן, ולכן לא מכילות שדות MIME בפתיח, ויתקבלו בשרת תומך MIME יתורגמו בהתאם כטקסט רגיל. במקביל, הודעת טקסט נקי משרת תומך MIME תתורגם כרגיל בשרת ישן שאינו תומך ב MIME, כיוון שזה יתעלם מהשדות הלא מוכרים לו בפתיח.
קישורים חיצוניים
תקן MIME מוגדר במסמכים הבאים:
- RFC 2045 - Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies
- RFC 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types
- RFC 2047 - MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text
- RFC 2048 - Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures
- RFC 2049 - Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples