MIME Multipurpose Internet Mail Extensions RFC 1521

Slides:



Advertisements
Podobne prezentacje
Ewa Skrenty Uczelniane Centrum Informatyczne UMK
Advertisements

Wprowadzenie do języka skryptowego PHP
Formaty plików Dane cyfrowe.
Podstawowe wiadomości
XHTML Podstawowe różnice.
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
Zaawansowana składnia XML XML Schema
MS Access 2000 Tworzenie tabel Piotr Górczyński 2005.
Microsoft Exchange Server 2003 Obieg dokumentów
Poj ę cia Sieciowe. IMAP-to internetowy protokół pocztowy zaprojektowany IMAP-to internetowy protokół pocztowy zaprojektowany POP3-to protokół internetowy.
Pojęcia sieciowe.
Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.
Typy danych – podstawy 1 W Adzie wszystkie dane muszą być określonego typu. Definicja Typ danych (data type) jest to zbiór wartości i operacji, które można.
Uniform Resource Locators
Archiwizacja oraz szybkie wyszukiwanie wiadomości
Tworzenie stron w języku WML jest zbliżone do tworzenia stron w HTML. W obydwu przypadkach używa się do tego celu znaczników (tagów). Zadaniem znaczników.
PROTOKOŁY OBSŁUGI POCZTY ELEKTRONICZNEJ
Elementy informatyki w kształceniu zintegrowanym.
Technologie informacyjne MCE Pudełko. Zakładanie strony internetowej Technologie informacyjne Marek Pudełko.
Piotr Kasprzyk Instytut Informatyki Politechniki Śląskiej
Multimedialne bazy danych
Usługi katalogowe LDAP.
Tworzenie stron internetowych www World Wide Web
Infrastruktura języka UML w wersji 2.2
PODSTAWY <HTML>
POJĘCIA ZWIĄZANE Z SIECIĄ.
Technologia informacyjna
Podstawowe pojęcia i problemy związane z przetwarzaniem plików graficznych.
Otwieranie elementów w różnych ramkach
System generowania wzorów matematycznych MathML
Tworzenie stron internetowych
HTML.
ANNA BANIEWSKA SYLWIA FILUŚ
Pojęcia związane z siecią
XML – eXtensible Markup Language
Tworzenie stron internetowych www World Wide Web
Specjalizacja "Dziennikarstwo On-line„ asynchroniczny JavaScript i XML – AJAX Część 6 Prowadzący: Dariusz Jaruga
Specjalizacja "Dziennikarstwo On-line„ HTML – XHTML Część 4 Prowadzący: Dariusz Jaruga
Temat: Poczta elektroniczna ( )
Ms Access Formularze i raporty Marzena Nowakowska KIS, WZiMK, PŚk
Temat 12: Formularze.
Wprowadzenie do CSS Okiełznać style.
Aplikacje internetowe
Programowanie Niskopoziomowe
HTML Czyli Publikowanie w Internecie. Przeglądarka internetowa –Mosaic - pierwsza –Netscape –Internet Explorer –Opera –Mozilla Dokument HTML –Dokument.
Zagrożenia.
Treści multimedialne - kodowanie, przetwarzanie, prezentacjaOdtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Portal edukacyjny A.Ś. FORMULARZE W JĘZYKU HTML. Portal edukacyjny A.Ś. Obiekty umieszczane na stronach www Teksty Obrazy Odnośniki Tabele Ramki pływające.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Sieci komputerowe Model warstwowy OSI.
Systemy liczenia IV Kodowanie i kody Danuta Stanek.
Standard DICOM – omówienie klas wybranych obiektów
Opracowanie mgr Karol Adamczyk
KOMUNIKACJA Informatyka Zakres podstawowy 1 Zebrał i opracował : Maciej Belcarz 8.
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Formatowanie dokumentów
I TY ZOSTAŃ WEBMASTEREM! CZĘŚĆ 2 – „STRUKTURA STRONY” STWORZYŁ GABRIEL ŚLAWSKI.
INTERNET jako „ocean informacji”
HTML 5.0. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 2 Program Literatura Historia HTML Koncepcja HTML.
Temat nr 5 Struktura strony www _________________________________________________________________________________________________________________ [ Przedmiot:
K ODY ZMIENNEJ DŁUGOŚCI Alfabet Morsa Kody Huffmana.
Tworzenie wykresów część I
BAZY DANYCH Microsoft Access Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i.
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
HTML.  Wprowadzenie  Protokół HTTP  Język HTML  Definicja typu dokumentu  Nagłówek strony  Formatowanie treści dokumentu  Definiowanie struktury.
HTML + CSS = strony internetowe Krzysztof Geras. FAKTY I MITY Czym nie jest HTML: ● programem do tworzenia stron internetowych, ● interpreterem skryptów.
SIECI KOMPUTEROWE WYKŁAD 13. WARSTWA APLIKACJI
Aplikacje i usługi internetowe
Zapis prezentacji:

MIME Multipurpose Internet Mail Extensions RFC 1521 Michał Rajkowski Jan Dudziec

Plan prezentacji Definicja MIME MIME, a inne RFC Format wiadomości Pola nagłówka Typy zawartości Podsumowanie RFC 1521 - MIME

Definicja MIME MIME - Multipurpose Internet Mail Extensions - Standard poczty elektronicznej - Mechanizmy specyfikacji i opisu formatu zawartości wiadomości internetowych RFC 1521 Uzupełnia wcześniejsze publikacje i rozszerza standardy o mechanizmy pozwalające na przesyłanie różnych typów zawartości RFC 1521 - MIME

Wcześniejsze publikacje (1) RFC 822 – Standard opisujący format wiadomości internetowych (1982r.) Treść: - Protokół reprezentacji wiadomości - Specyfikacja nagłówka - Format i zawartość wiadomości – 7 bitowy kod ASCII Wady: - wiadomości tekstowe – brak formatowania (czcionek itp) - wiadomości nie tekstowe – odrzucane lub konwertowane na ASCII -> utrata informacji RFC 1521 - MIME

Wcześniejsze publikacje (2) RFC 1341 i RFC 1342 – pierwsze publikacje i definicje MIME RFC 1341 - MIME (Multipurpose Internet Mail Extensions): Mechanisms for Specifying and Describing the Format of Internet Message Bodies RFC 1342 - Representation of Non-ASCII Text in Internet Message Headers RFC 1521 zostało wprowadzone, aby zastąpić RFC 1341, RFC 1342. RFC 1521 - MIME

RFC 1521 RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies Zmiana formatu wiadomości Opis mechanizmów pozwalających na przesyłanie obiektów różnego typu bez straty informacji Zawartość specyfikacji: Version Header Field Content-Type Header Field Content-Transfer-Encoding Header Field Additional Content-Header Fields Content-ID Header Field Content-Description Header Field RFC 1521 - MIME

Format wiadomości HEADER { BODYPART Bodypart header { MIME-version: 1.0 Content-type: multipart/mixed; boundary="frontier" This is a multi-part message in MIME format. --frontier Content-type: text/plain Content-type: application/octet-stream Content-transfer-encoding: base64 Pgh0bWw+CiAgPGhlYWQ+CiAgPC9oZWF kPgogIDxib2R5PgogICAgPHA+VGhpcyBpc yB0aGugYm9keSBvZiB0aGUgbWVzc2FnZ S48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg= --frontier-- BODYPART Bodypart header { Bodypart header { Body { RFC 1521 - MIME

MIME-Version Header Field Nowe pole nagłówka Określa numer wersji formatu zawartości wiadomości Wartość dla standardu zgodnego z RFC1521: Ogólna postać: MIME-Version: 1.0 version := "MIME-Version" ":" 1*DIGIT "." 1*DIGIT RFC 1521 - MIME

Content-Type Header Field content := "Content-Type" ":" type "/" subtype *(";" parameter) type := "application" / "audio" / "image" / "message"/ "multipart" / "text" / "video" / extension-token extension-token := x-token / iana-token iana-token := <publiczny i zarejestrowany w IANA> x-token := < "X" -token or "x" -token> subtype := token parameter := attribute "=" value attribute := token value := token token := 1*<any (ASCII) CHAR except SPACE, CTLs, or tspecials> tspecials := "(" / ")" / "<" / ">" / "@" "," / ";" / ":" / "\" “<">"/" / "[" / "]" / "?" / "=" Pole zdefiniowane po raz pierwszy w RFC 1049 Określa typ danych zawartych w ciele wiadomości Jest zbiorem parametrów Parametry obowiązkowe: TYP i PODTYP Typ- rodzaj zawartości: text,multipart,application, message, audio,video, image, experimental Podtyp- np. format Przykład: “ image/jpg” RFC 1521 - MIME

Content-Transfer-Encoding Header Field encoding := "Content-Transfer-Encoding" ":"mechanism Nowo zdefiniowane pole Wskazuje typ transformacji ciała wiadomości użyty na potrzeby transportu wiadomości Domyślna wartość - “7bit” Część nagłówka wiadomości i nagłówka ciała wiadomości mechanism := "7bit" "quoted-printable" "base64" "8bit" "binary" x-token Przykład: Content-Type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: base64 RFC 1521 - MIME

Content-Transfer-Encoding Header Field “7bit”,”8bit”,”binary” => brak kodowania Quoted-printable Standardowo do przesyłania tekstu Drukowalne znaki ASCII Znaki o kodach >127 -> 3 znaki Przykład: Ó - 243 (ISO-8859-2) => “=F3” Base64 stosowany głownie do plików binarnych (grafika, dźwięk) możliwy do zastosowania także dla zwykłego tekstu RFC 1521 - MIME

Content-Transfer-Encoding Header Field The Base64 Alphabet RFC 1521 - MIME

Additonal Content-Header Fields Optional Content-ID Header Field Etykieta zawartości Analogiczne wykorzystanie jak “Message-ID” Obowiązkowy dla typu “message/external-body” Optional Content-Description Header Field Opisowe informacje Standardowo w postaci US-ASCII, RFC-1522 posiada mechanizm pozwalający na korzystanie z innego kodowania niż US-ASCII Przykład: Description := “Content-Description “:” *text RFC 1521 - MIME

Typy zawartosći Text Multipart Message Application Image Audio Video Experimental RFC 1521 - MIME

TEXT Zasadniczo do przesyłania zawartości tekstowej CHARSET - krytyczny parametr używany do zdefiniowania podtypów Domyślnie - “text/plain;charset=us-ascii” Zdefiniowane wartości charset: US-ASCII, ISO-8859-X Przykład: text-type := "text" "/" text-subtype [";" "charset" "=" charset] text-subtype := "plain" charset := "us-ascii"/ "iso-8859-1"/ "iso-8859-2"/ "iso-8859-3" / "iso-8859-4"/ "iso-8859-5"/ "iso-8859-6"/ "iso-8859-7" / "iso-8859-8" / "iso-8859-9" RFC 1521 - MIME

MULTIPART Umożliwia przesyłanie kilku różnych typów danych w 1 wiadomości Każda część to osobne “bodypart” z osobnym nagłówkiem Enkapsulacja- każda część oddzielona granicami boundary := 0*69<bchars> bcharsnospace W przypadku wystapienia średnika „:” - Dozwolone kodowania- “7bit”, “8bit”, “binary” Podtyp: “mixed” (podstawowy),“alternative”, “digest”, ”parallel” Content-Type: multipart/mixed; boundary=gc0p4Jq0M2Yt08jU534c0p RFC 1521 - MIME

MULTIPART-przykład From: Nathaniel Borenstein <nsb@bellcore.com> To: Ned Freed <ned@innosoft.com> Subject: Formatted text mail MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=boundary42 --boundary42 Content-Type: text/plain; charset=us-ascii ---TEKST niesformatowany---- Content-Type: text/richtext ---TEKST w fromacie richtext--- Content-Type: text/x-whatever --Oryginalna postać tekstu---- --boundary42-- RFC 1521 - MIME

MESSAGE Dołączenie innej wiadomości Możliwe podtypy: “rfc822”, “partial” , “external- body” Wymaga kodowania “7bit”, “8bit”,”binary” Message header: us-ascii (zawsze) Partial – umożwilia przesyłanie duży obiektów podzielonych na części (łączenie po “content-id”) External-body-obowiązkowy parametr “acces-type” Parametry opcjonalne: “expiration”, “size”,”permission”, “name”,”site”, “directory”,”mode”, “server”,”subject” RFC 1521 - MIME

MESSGE-przykład 1 X-Weird-Header-1: Foo From: Bill@host.com To: joe@otherhost.com Subject: Audio mail Message-ID: <id1@host.com> MIME-Version: 1.0 Content-type: message/partial; id="ABC@host.com"; number=1; total=2 X-Weird-Header-1: Bar X-Weird-Header-2: Hello Message-ID: <anotherid@foo.com> Content-type: audio/basic Content-transfer-encoding: base64 Message-ID: <id2@host.com> id="ABC@host.com"; number=2; total=2 RFC 1521 - MIME

Message-przykład 2 From: Whomever To: Someone Subject: whatever MIME-Version: 1.0 Message-ID: <id1@host.com> Content-Type: multipart/alternative; boundary=42 Content-ID: <id001@guppylake.bellcore.com> --42 Content-Type: message/external-body; name="BodyFormats.ps"; site="thumper.bellcore.com"; access-type=ANON-FTP; directory="pub"; mode="image"; expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)" Content-type: application/postscript Content-ID: <id42@guppylake.bellcore.com> access-type=mail-server server="listserv@bogus.bitnet"; get RFC-MIME.DOC --42-- RFC 1521 - MIME

APPLICATION Przesyłanie danych nie zakwalifikowanych do pozostałych kategorii Przetwarzanie zawartosci przed pokazaniem jej uzytkownikowi Podtypy: “octet-stream”(dane binarne), “Postscript”(program napisany w jezyku Postscript/Postscript2 – Adobe Systems Inc.) “octet-stream” - parametry: “type”, “padding” Kolejne typy mają być zdefiniowane w przyszłości RFC 1521 - MIME

IMAGE, AUDIO, VIDEO IMAGE Do przesyłania obrazów Podtyp- format obrazu: “jpeg”, “gif” itp. AUDIO Podstawowy podtyp “basic”- kodowanie 8 bitowe [PCM] VIDEO Do przesyłania plików video (dopuszczalnie z dźwiękiem) Podtyp- format video: “mpeg” RFC 1521 - MIME

EXPERIMENTAL Eksperymentalne podtypy Zaczynają się na “X-” Formaty bez jednoznacznej i publicznej definicji Prywatne wartości Odradza się tworzenie nowych typów – powinno się stosować rozszerzanie już istniejących RFC 1521 - MIME

Zasady korzystania z MIME Agent pocztowy używający MIME musi: Zawsze tworzyć pole “"MIME-Version: 1.0"” Rozpoznawać “Content-Transfer-Encoding” i przeprowadzić odpowiednie dekodowanie Rozpoznawać i odpowiednio prezentować dane inne niż “text” “Text”- wyświetlać za pomocą US-ASCII, jak nie zna podtypu to prezentować nieprzetworzone dane, rozpoznawać “charset”, rozpoznawać “ISO-8859-X” “Message”- rozpoznawać podtyp “822” “Multipart”- rozpoznawać podtyp “mixed” i “alternative” “Application”- rozpoznawać podtyp i umieszczać zawartość w pliku RFC 1521 - MIME

Podsumanie MIME jest powszechnie stosowanym standardem do przesyłania i przetwarzania wiadomości RFC 1521 jest pierwszym i podstawowym dokumentem opisującym przesyłanie różnych typów wiadomości Dalsze wersje: 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 RFC 1521 - MIME

Pytania na kolokwium W przypadku stosowania Quoted-printable, co się dzieje gdy mamy znak o wartości większej od 127 Nie jest on przesyłany Jest kodowany za pomocą 3 znaków Ani a), ani b) Co jest typem podstawowym dla Multipart? Parallel Mixed Digest Czy możemy ustawić (dla typu zawartości Message) message header inny niż us-ascii? Tak, jeżeli użyjemy kodowania 7 bit Tak, jeżeli użyjemy kodowania 8bit lub binary RFC 1521 - MIME

Dziękujemy za uwagę. RFC 1521 - MIME