Aller au contenu principal

5. Composite Media Type Values (Valeurs de type de média composites)

Les deux types de médias de premier niveau composites sont : multipart et message.

5.1. Multipart Media Type (Type de média multipart)

Le type multipart est utilisé pour combiner plusieurs parties de corps en un seul message. Chaque partie est une entité indépendante avec ses propres en-têtes et corps.

5.1.1. Syntaxe commune

Tous les types multipart partagent une syntaxe commune. Le paramètre boundary est requis (REQUIRED) :

Content-Type: multipart/mixed; boundary="----=_Part_0_123456789.987654321"

------=_Part_0_123456789.987654321
Content-Type: text/plain

Contenu de la première partie

------=_Part_0_123456789.987654321
Content-Type: text/html

<html>Contenu de la deuxième partie</html>

------=_Part_0_123456789.987654321--

5.1.3. Sous-type Mixed

multipart/mixed est utilisé pour les parties indépendantes qui doivent être présentées dans l'ordre.

Cas d'utilisation : Corps d'e-mail + pièces jointes

Content-Type: multipart/mixed; boundary="boundary123"

--boundary123
Content-Type: text/plain

Corps de l'e-mail

--boundary123
Content-Type: application/pdf
Content-Disposition: attachment; filename="document.pdf"

[Données PDF]

--boundary123--

5.1.4. Sous-type Alternative

multipart/alternative est utilisé pour différentes représentations du même contenu. Les clients de messagerie devraient (SHOULD) sélectionner la dernière version qu'ils comprennent.

Cas d'utilisation : Versions texte brut + HTML

Content-Type: multipart/alternative; boundary="alt123"

--alt123
Content-Type: text/plain

Version texte brut

--alt123
Content-Type: text/html

<html><body>Version HTML</body></html>

--alt123--

5.1.5. Sous-type Digest

multipart/digest est utilisé pour transférer plusieurs messages. Le type de partie par défaut est message/rfc822.

5.1.6. Sous-type Parallel

multipart/parallel indique que les parties devraient être présentées simultanément.

5.1.7. Autres sous-types Multipart

  • multipart/related : Parties liées (par exemple, HTML + images intégrées)
  • multipart/form-data : Téléchargements de fichiers de formulaire HTML
  • multipart/byteranges : Requêtes de plage HTTP

5.2. Message Media Type (Type de média message)

Le type message est utilisé pour encapsuler un autre message.

5.2.1. Sous-type RFC822

message/rfc822 est utilisé pour encapsuler un message RFC 822 complet.

Content-Type: message/rfc822

From: [email protected]
To: [email protected]
Subject: Message transféré

Ceci est le contenu du message transféré.

5.2.2. Sous-type Partial

message/partial est utilisé pour diviser les grands messages en plusieurs fragments.

Paramètres :

  • id : Identifiant unique
  • number : Numéro de fragment
  • total : Nombre total de fragments
Content-Type: message/partial; 
id="[email protected]";
number=1;
total=3

5.2.3. Sous-type External-Body

message/external-body est utilisé pour référencer des données stockées ailleurs.

Types d'accès :

  • ftp : Serveur FTP
  • http : URL HTTP
  • local-file : Fichier local
  • mail-server : Serveur de messagerie
Content-Type: message/external-body;
access-type=URL;
URL="http://example.com/file.pdf"

Content-Type: application/pdf
Content-Description: Grand fichier PDF

Structure imbriquée typique :

multipart/mixed
├── text/plain (corps)
├── multipart/alternative
│ ├── text/plain
│ └── text/html
└── application/pdf (pièce jointe)