Groupement de travail R�seau E. Levinson Requ�te pour commentaires RFC-2387 Aout 1998 Rend obsol�te la rfc2112 Cat�gorie: Proposition de Norme Traduction fran�aise: O. Roquigny Mai 2008 Le type de contenu MIME Multipart/Related Statut de ce M�mo Ce document sp�cifie une proposition de norme de protocole Internet pour la communaut� internet, ainsi qu'une requ�te de discussions et suggestions pour am�liorations. Veuillez vous r�f�rer � l'�dition courante de "Internet Official Protocol Standards" (STD 1) pour connaitre l'�tat de la norme et les statuts de ce protocole. La distribution de ce m�mo n'est pas limit�e. Notice de droits d'auteur Copyright (C) The Internet Society (1998). Tous droits r�serv�s. R�sum� Le Multipart/Related content-type procure un m�canisme commun pour repr�senter des objets qui sont un ensemble de parties distinctes MIME, qui sont reli�es entre elles pour former un tout. Ce document d�finit le Multipart/Related content-type et pr�sente des exemples de son utilisation. 1. Introduction Plusieurs applications de MIME, incluant MIME-PEM, et MIME-Macintosh ainsi que d'autres propositions, n�cessitent plusieurs morceaux qui prennent leur sens uniquement dans l'ensemble qu'elles composent. Cette composition d'objets, a �t� cr��e pour d�finir les sp�cificit�s des diff�rents sous-types de parties distinctes pour chaque nouvel objet. En restant dans la philosophie MIME, offrant un seul m�canisme permettant de r�soudre le m�me probl�me pour diff�rents contenus, ce document d�crit une seule proc�dure pour de tels ensembles ou objets combin�s. Le type de contenu Multipart/Related pr�sente la repr�sentation MIME d'objets combin�s. L'objet est d�fini par un param�tre "type". Des param�tres additionnels sont fournis pour indiquer le d�part d'une partie sp�cifique ou de la racine, et des informations auxiliaires qui pourraient �tre n�cessaires, lors du r� assemblage ou de la cr�ation de l'objet. Les entit�s Multipart/Related MIME peuvent contenir des en-t�tes Content-Disposition qui fournissent des suggestions pour le stockage et l'affichage d'une partie distincte MIME. Le traitement de Multipart/Related a priorit� sur Content-Disposition; l'interaction entre eux est comment�e en paragraphe 4. La responsabilit� pour l'affichage ou le traitement d'entit�s constituant une partie Multipart/Related, est li�e � l'application qui manipule les objets compos�s. 2. Informations d'enregistrement de Multipart/Related La forme suivante est copi�e de la rfc1590, Appendice A. To: IANA@isi.edu Subject: Enregistrement de nouveau m�dia type content-type/subtype Nom de type m�dia: Multipart Nom de sous type m�dia: Related Param�tres requis: Type, un media type/subtype. Param�tres optionnels: Start Start-info Consid�rations d'encodage: Le type Multipart content-types ne peut �tre encod�. Consid�rations de s�curit�: D�pend uniquement du type r�f�renc�. Sp�cification publi�e: RFC-REL (ce document). Personne & adresse email � contacter pour un suppl�ment d'information: Edward Levinson 47 Clive Street Metuchen, NJ 08840-1060 +1 908 494 1606 XIson@cnj.digex.net 3. Usage pr�vu Le type de m�dia Multipart/Related est pr�vu pour additionner des objets constitu�s de plusieurs parties relatives entre elles. Pour un objet Multipart/Related, un affichage correct ne peut �tre accomplit en affichant individuellement les diff�rentes parties constitutives de l'ensemble. Le champ content-type de l'objet Multipart/Related est sp�cifi� par le param�tre de type. Le param�tre "start", s'il est sp�cifi�, pointe via un content-ID, sur la partie contenant l'objet racine. La racine par d�faut, est la premi�re partie � l'int�rieur du corps de partie Multipart/Related Les relations entre les parties d'un objet compos�, les distinguent des autres types d'objets. Ces relations sont souvent repr�sent�es par des liens internes sur les objets composants r�f�ren�ant les autres composants. Au sein d'un simple environnement d'exploitation, les liens sont souvent des noms de fichiers, ces liens peuvent �tre repr�sent�s � l'int�rieur d'un message MIME en utilisant les champs content-ID ou la valeur d'autres en-t�tes "Content-". 3.1. Le param�tre de type Le param�tre de type doit �tre sp�cifi�, et sa valeur est le type m�dia MIME de la partie racine. Il permet � un "logiciel utilisateur MIME" de d�terminer le content-type sans une r�f�rence � la partie enclav�e. Si la valeur du param�tre type et du content-type de la partie racine sont diff�rentes, alors le comportement du logiciel utilisateur est ind�termin�. 3.2. Le param�tre start Le param�tre "start", s'il est pr�sent, est le content-ID de l'objet compos� "racine". S'il n'est pas pas pr�sent, la racine est la premi�re partie dans l'entit� Multipart/Related. La racine est l'�l�ment que l'application va traiter en premier. 3.3. Le param�tre Start-Info Une Information additionnelle peut �tre fournie � une application par le param�tre start-info. Il contient soit une cha�ne de caract�res, soit pointe, via un content-ID, vers une autre entit� MIME dans le message. Une utilisation typique pourrait �tre d'apporter des param�tres de ligne de commande additionnels, ou une entit� MIME donnant des informations suppl�mentaires pour traiter l'objet compos�. Les applications qui utilisent Multipart/Related doivent sp�cifier l'interpr�tation du start-info. Les logiciels utilisateurs devraient fournir les valeurs de param�tres � l'application de traitement. Les processus peuvent distinguer une r�f�rence start-info depuis un motif ou une cha�ne de caract�re entour�e de guillemets ("), en examinant le premier caract�re qui n'est pas une espace blanche (non-white-space), le caract�re "<" indique une r�f�rence. 3.4. Syntaxe related-param := [ ";" "start" "=" cid ] [ ";" "start-info" "=" ( cid-list / value ) ] [ ";" "type" "=" type "/" subtype ] ; ordre ind�pendant cid-list := cid cid-list cid := msg-id ; c.f. [822] value := token / quoted-string ; c.f. [MIME] ; value ne peut pas commencer par "<" La valeur du param�tre doit �tre entour�e de guillemets ("). Msg-id contient les caract�res sp�ciaux "<", ">", "@", et peut �tre d'autres caract�res sp�ciaux. Si msg-id contient des chaines de caract�res entour�es de quottes, ces guillemets doivent �tre esquiv�s. De mani�re similaire, le param�tre type contient le caract�re sp�cial "/". 4. Manipuler l'en-t�te Content-Disposition L'en-t�te Content-Disposition [DISP] sugg�re le style de pr�sentation pour les parties MIME. [DISP] comporte deux styles de pr�sentation, appel� le type de disposition, INLINE et ATTACHMENT. Ces styles, utilis�s dans une entit� multipart, permettent � l'exp�diteur de donner des informations de pr�sentation. [DISP] fournit aussi un nom de stockage optionnel (file). L'en-t�te Content-Disposition peut appara�tre dans une ou plusieurs parties contenues dans une entit� Multipart/Related Utiliser l'ent�te Content-Disposition avec Multipart/Related apporte des informations de pr�sentation aux logiciels utilisateurs qui ne reconnaissent pas Multipart/Related. Ils traiteront le multipart comme Multipart/Mixed et pourraient trouver les informations de Content-Disposition utiles. Avec Multipart/Related cependant, l'application traitant l'objet compos� d�termine le style de pr�sentation pour toutes les parties incluses. Dans ce contexte l'en-t�te Content-Disposition est redondant ou m�me trompeur. Donc, les logiciels utilisateurs qui comprennent Multipart/Related devraient ignorer le type de disposition dans une partie Multipart/Related. Il est possible pour un logiciel utilisateur, capable de manipuler aussi bien les en-t�tes Multipart/Related que Content-Disposition, de fournir � l'application invoqu�e, le param�tre optionnel filename de l'en-t�te Content-Disposition de la partie MIME Multipart/Related. L'utilisation de cette information d�pendra de l'application sp�cifique, et devrait �tre sp�cifi�e lors d'une description de la manipulation de l'objet compos� correspondant. Il serait id�al de faire de telles descriptions dans une RFC d�crivant les objets de ce type de m�dia. 5. Exemples 5.1 Application/X-FixedRecord Le Content-Type X-FixedRecord consiste en un ou plusieurs flux d'octets, ainsi que d'une liste de dimensions de chaque enregistrement. La racine qui liste les dimensions de chaque enregistrement � l'int�rieur du flux. La liste de dimensions des enregistrements, de type Application/X-FixedRecord, consiste en un ensemble d'entiers (INTEGER) au format ASCII, un par ligne. Chaque entier repr�sente le nombre d'octets du flux d'octets de la partie MIME, constituant le prochain enregistrement. L'example ci dessous, utilise un simple bloc de donn�es. Content-Type: Multipart/Related; boundary=example-1 start="<950120.aaCC@XIson.com>"; type="Application/X-FixedRecord" start-info="-o ps" --example-1 Content-Type: Application/X-FixedRecord Content-ID: <950120.aaCC@XIson.com> 25 10 34 10 25 21 26 10 --example-1 Content-Type: Application/octet-stream Content-Description: The fixed length records Content-Transfer-Encoding: base64 Content-ID: <950120.aaCB@XIson.com> T2xkIE1hY0RvbmFsZCBoYWQgYSBmYXJtCkUgSS BFIEkgTwpBbmQgb24gaGlzIGZhcm0gaGUgaGFk IHNvbWUgZHVja3MKRSBJIEUgSSBPCldpdGggYS BxdWFjayBxdWFjayBoZXJlLAphIHF1YWNrIHF1 YWNrIHRoZXJlLApldmVyeSB3aGVyZSBhIHF1YW NrIHF1YWNrCkUgSSBFIEkgTwo= --example-1-- 5.2 Text/X-Okie Le Text/X-Okie est un langage de balisage permettant l'inclusion d'images avec un texte. Une particularit� de cet exemple est l'inclusion de deux images comme parties additionnelles. Elles r�f�rent en interne � travers le document encapsul�, via le Content-ID de chaque partie image. L'usage du cid, comme dans cet exemple, peut �tre utile pour diff�rents types d'objets compos�s. Cela ne fait pas partie cependant, de la sp�cification des parties Multipart/Related Content-Type: Multipart/Related; boundary=example-2; start="<950118.AEBH@XIson.com>" type="Text/x-Okie" --example-2 Content-Type: Text/x-Okie; charset=iso-8859-1; declaration="<950118.AEB0@XIson.com>" Content-ID: <950118.AEBH@XIson.com> Content-Description: Document {doc} This picture was taken by an automatic camera mounted ... {image file=cid:950118.AECB@XIson.com} {para} Now this is an enlargement of the area ... {image file=cid:950118:AFDH@XIson.com} {/doc} --example-2 Content-Type: image/jpeg Content-ID: <950118.AFDH@XIson.com> Content-Transfer-Encoding: BASE64 Content-Description: Picture A [encoded jpeg image] --example-2 Content-Type: image/jpeg Content-ID: <950118.AECB@XIson.com> Content-Transfer-Encoding: BASE64 Content-Description: Picture B [encoded jpeg image] --example-2-- 5.3 Content-Disposition Dans l'exemple ci-dessus, chaque partie image pourrait tout aussi bien poss�der un en-t�te Content-Disposition. Par exemple, --example-2 Content-Type: image/jpeg Content-ID: <950118.AECB@XIson.com> Content-Transfer-Encoding: BASE64 Content-Description: Picture B Content-Disposition: INLINE [encoded jpeg image] --example-2-- Les logiciels utilisateurs qui reconnaissent Multipart/Related, ignoreront le type disposition de l'en-t�te Content-Disposition. Les autres logiciels utilisateurs traiteront le Multipart/Related comme Multipart/Mixed et pourront utiliser les informations de cet en-t�te. 6. Pr�-requis des logiciels utilisateurs Les logiciels utilisateurs qui ne reconnaissent pas Multipart/Related doivent en accord avec [MIME], traiter l'entit� enti�re comme Multipart/Mixed. Les logiciels utilisateurs MIME qui reconnaissent Multipart/Related mais sont incapables de traiter le type donn�, devraient donner � l'utilisateur l'option de supprimer enti�rement la partie Multipart/Related. Les logiciels clients mail (MUA) conformes � MIME, manipulent les types m�dia existants d'une mani�re simple. Pour les types de m�dias simples (texte, image, etc.) le corps de l'entit� peut �tre directement pass� au processus d'affichage. De mani�re similaire, les sous-types composites existants peuvent �tre r�duits pour manipuler un ou plusieurs types discrets. Manipuler Multipart/Related diff�re en ce que le traitement ne peut �tre r�duit pour manipuler les entit�s individuelles. Les sections suivantes d�crivent l'information dont l'application de traitement a besoin. Il est possible qu'une application sp�cifique "logiciel r�cepteur" manipule les entit�s � afficher avant d'invoquer le processus d'application actuel. l'exemple Okie ci-dessus, en est un exemple ; il pourrait avoir besoin d'un logiciel client pour traiter le document et substituer des noms de fichiers locaux � la place des noms de fichiers de l'exp�diteur. Les autres applications peuvent simplement faire appel � une table montrant la correspondance entre les noms de fichiers locaux et ceux de l'exp�diteur. Le logiciel r�cepteur prend la responsabilit� de tels traitements. 6.1 Pr�-requis de donn�es Les logiciels clients Mail (MUA) conformes � MIME doivent fournir � l'application: (a) le corps de l'entit� MIME et les en-t�tes Content-* d'entit�, (b) les param�tres Content-Type d'en-t�te du Multipart/Related, et (c) la correspondance entre chaque nom de fichier local utilis� dans une partie MIME, les donn�es d'en-t�te de cette partie MIME, et si pr�sent, le Content-ID de la partie MIME en question. 6.2 Stockage d'entit�s Multipart/Related Le type de m�dia Multipart/Related est utilis� pour des objets qui ont des liens internes entre les diff�rentes parties du corps. Lorsque les objets sont stock�s, les liens n�cessitent d'�tre trait�s par l'application ou son logiciel client. 6.3 R�cursion MIME est une structure r�cursive. Il est donc possible pour une entit� Multipart/Related de contenir d'autres entit�s Multipart/Related. Quand une entit� Multipart/Related est trait�e pour l'affichage ou le stockage, chaque entit� Multipart/Related doit �tre trait�e comme si elle devait �tre stock�e. 6.4 Consid�rations de Configuration Il est sugg�r� que les logiciels client mail (MUA), qui utilisent des m�canismes de configuration, se r�f�rent � Multipart/Related comme � Multipart/Related/, o� est la valeur du param�tre "type", cf. [CFG] pour un exemple. 7. Consid�rations de S�curit� Les consid�rations de s�curit� relative � Multipart/Related sont identiques � celles sous-jacentes au content-type. 8. Remerciements Cette proposition est le r�sultat de conversations que l'auteur a eu avec de nombreuses personnes. En particulier, Harald A. Alvestrand, James Clark, Charles Goldfarb, Gary Houston, Ned Freed, Ray Moody, et Don Stinchfield, qui ont fourni aussi bien des encouragements qu'une aide incalculable. L'auteur cependant, ainsi que ses traducteurs, assume la pleine responsabilit� pour toute erreur contenue dans ce document. 9. R�f�rences [822] Crocker, D., "Standard pour le format des messages textes de l'ARPA internet" - "Standard for the Format of ARPA Internet Text Messages", STD 11, RFC 822, Aout 1982. [CID] Levinson, E., et J. Clark, "Message/External-Body Content-ID Access Type", RFC 1873, D�cembre 1995, Levinson, E., "Message/External-Body Content-ID Access Type", travail en cours. [CFG] Borenstein, N., "Un m�canisme de configuration des logiciels clients mail pour le format de courrier Multim�dia" - "A User Agent Configuration Mechanism For Multimedia Mail Format Information", RFC 1524, Septembre 1993. [DISP] Troost, R., et S. Dorner, "Informations de pr�sentations communicantes dans les messages internet : L'ent�te Content-Disposition" - "Communicating Presentation Information in Internet Messages: The Content-Disposition Header", RFC 1806, Juin 1995. [MIME] Borenstein, N., and Freed, N., "Extensions de Mail (MIME) � contenu multiple Partie 1: Format de corps des messages internet" - "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, Novembre 1996. 9. Adresse de l'auteur Edward Levinson 47 Clive Street Metuchen, NJ 08840-1060 USA tel: +1 908 494 1606 EMail: XIson@cnj.digex.com 10. Changements depuis la pr�c�dente version (RFC 2112) Correction des urls cid, conform�ment � la RFC 2111; les parenth�ses �querres ont �t� retir�es 11. Note concernant le Copyright Copyright (C) The Internet Society (1998). Tous droits r�serv�s. Copyright (C) The Internet Society (1998). All Rights Reserved. Ce document et ses traductions, ainsi que les travaux d�riv�s qui commentent, expliquent, ou assistent � son impl�mentation, peuvent �tre modifi�s, copi�s, publi�s, et distribu�s, en tout ou partie sans restriction d'aucune sorte, pourvu que la mention copyright ci-dessus ainsi que ce paragraphe soient inclus sur toutes les copies, et les travaux d�riv�s. Cependant, ce document lui-m�me ne peux �tre modifi� en aucune mani�re, tel qu'en enlevant la notice de copyright ou les r�f�rences � l'Internet Society ou d'autres organisations d'Internet, except� si c'est n�cessaire dans le but de d�velopper les standards internet, dans un tel cas les proc�dures pour le copyright d�finies dans le contr�le des standards internet doivent �tre suivies, ou tel que requis pour le traduire dans un langage autre que l'anglais. Les permissions limit�es donn�es ci-dessus sont perp�tuelles et ne pourront pas �tre r�voqu�es par l'Internet Society ou ses successeurs ou assign�s. Ce document et l'information contenues ici est fournie comme une base "en l'�tat", et L'INTERNET SOCIETY ET L'INTERNET ENGINEERING TASK FORCE REJETENT TOUTE RESPONSABILIT�, DIRECTE OU IMPLICITE, INCLUANT MAIS NON LIMIT�E, A UNE QUELCONQUE GARANTIE TELLE QUE L'UTILISATION DE L'INFORMATION APPORT�E ICI N'ENFREINDRA UN DROIT OU UNE GARANTIE DE CONFORMIT� ET D'USAGE NORMAL POUR UNE UTILISATION PARTICULI�RE. - Version anglaise de la notice de copyright : Copyright (C) The Internet Society (1998). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.