Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "MIME Multipurpose Internet Mail Extensions RFC 1521 Michał Rajkowski Jan Dudziec."— Zapis prezentacji:

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

2 Plan prezentacji 1. Definicja MIME 2. MIME, a inne RFC 3. Format wiadomości 4. Pola nagłówka 5. Typy zawartości 6. Podsumowanie RFC MIME2

3 Definicja MIME RFC MIME3 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

4 Wcześniejsze publikacje (1) RFC MIME4 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

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

6 RFC 1521 RFC 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 MIME6

7 Format wiadomości RFC MIME7 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 --frontier Content-type: application/octet-stream Content-transfer-encoding: base64 Pgh0bWw+CiAgPGhlYWQ+CiAgPC9oZWF kPgogIDxib2R5PgogICAgPHA+VGhpcyBpc yB0aGugYm9keSBvZiB0aGUgbWVzc2FnZ S48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg = --frontier-- BODYPART Bodypart header { Body { Bodypart header {

8 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ć: RFC MIME8 MIME-Version: 1.0 version := "MIME-Version" ":" 1*DIGIT "." 1*DIGIT

9 Content-Type Header Field 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 MIME9 content := "Content-Type" ":" type "/" subtype *(";" parameter) type := "application" / "audio" / "image" / "message"/ "multipart" / "text" / "video" / extension-token extension-token := x-token / iana-token iana-token := x-token := subtype := token parameter := attribute "=" value attribute := token value := token token := 1* tspecials := "(" / ")" / " " / "," / ";" / ":" / "\" "/" / "[" / "]" / "?" / "="

10 Content-Transfer-Encoding Header Field 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 RFC MIME10 mechanism := "7bit" "quoted-printable" "base64" "8bit" "binary" x-token encoding := "Content-Transfer-Encoding" ":"mechanism Przykład: Content-Type: text/plain; charset=ISO Content-transfer-encoding: base64

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

12 Content-Transfer-Encoding Header Field The Base64 Alphabet RFC MIME12

13 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: RFC MIME13 Description := Content-Description : *text

14 Typy zawartosći RFC MIME14 1.Text 2.Multipart 3.Message 4.Application 5.Image 6.Audio 7.Video 8.Experimental

15 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 RFC MIME15 Przykład: text-type := "text" "/" text-subtype [";" "charset" "=" charset] text-subtype := "plain" charset := "us-ascii"/ "iso "/ "iso "/ "iso " / "iso "/ "iso "/ "iso "/ "iso " / "iso " / "iso "

16 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 bcharsnospace W przypadku wystapienia średnika : - Dozwolone kodowania- 7bit, 8bit, binary Podtyp: mixed (podstawowy),alternative, digest, parallel RFC MIME16 Content-Type: multipart/mixed; boundary=gc0p4Jq0M2Yt08jU534c0p

17 RFC MIME17 MULTIPART-przykład From: Nathaniel Borenstein To: Ned Freed Subject: Formatted text mail MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=boundary42 --boundary42 Content-Type: text/plain; charset=us-ascii ---TEKST niesformatowany boundary42 Content-Type: text/richtext ---TEKST w fromacie richtext--- --boundary42 Content-Type: text/x-whatever --Oryginalna postać tekstu boundary42--

18 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 MIME18

19 RFC MIME19 MESSGE-przykład 1 X-Weird-Header-1: Foo From: To: Subject: Audio mail Message-ID: MIME-Version: 1.0 Content-type: message/partial; number=1; total=2 X-Weird-Header-1: Bar X-Weird-Header-2: Hello Message-ID: MIME-Version: 1.0 Content-type: audio/basic Content-transfer-encoding: base64 From: To: Subject: Audio mail MIME-Version: 1.0 Message-ID: Content-type: message/partial; number=2; total=2

20 RFC MIME20 Message-przykład 2 From: Whomever To: Someone Subject: whatever MIME-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary=42 Content-ID: --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 :13: (EDT)" Content-type: application/postscript Content-ID: --42 Content-Type: message/external-body; access-type=mail-server expiration="Fri, 14 Jun :13: (EDT)" Content-type: application/postscript Content-ID: get RFC-MIME.DOC

21 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 MIME21

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

23 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 MIME23

24 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 MIME24

25 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 Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies RFC 2046-Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types RFC 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 MIME25

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

27 RFC MIME27 Dziękujemy za uwagę.


Pobierz ppt "MIME Multipurpose Internet Mail Extensions RFC 1521 Michał Rajkowski Jan Dudziec."

Podobne prezentacje


Reklamy Google