INTERNET DRAFT
			 Naming Parts in MIME

			    Dan Pritchett
			    SunSoft, Inc.
		      Dan.Pritchett@Eng.Sun.COM

	   File: <draft-pritchett-namingparts-mime-00.txt>
			  Expires: 12/08/94
				   
Status of this Memo

     This document is an Internet-Draft.  Internet-Drafts are working
     documents of the Internet Engineering Task Force (IETF), its
     areas, and its working groups.  Note that other groups may also
     distribute working documents as Internet-Drafts.

     Internet-Drafts are draft documents valid for a maximum of six
     months and may be updated, replaced, or obsoleted by other
     documents at any time.  It is inappropriate to use Internet-
     Drafts as reference material or to cite them other than as
     ``work in progress.''

     To learn the current status of any Internet-Draft, please check
     the ``1id-abstracts.txt'' listing contained in the Internet-
     Drafts Shadow Directories on ds.internic.net (US East Coast),
     nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or
     munnari.oz.au (Pacific Rim).

  Abstract

     MIME parts are often used to transfer files, from one user agent
     to another. Files have names that would often be meaningful to
     pass from one agent to another. This document proposes a mechanism for
     sending file names from one agent to another.

1.0 Introduction

MIME allows user agents to construct messages composed of many parts.
These parts often come from files the user attaches to the message.
The name of the file is often very useful to the recipient, both to
identify the part, as well as to provide a default name for the part
if the user wishes to save the part to a file.

2.0 The Content-Name Header

The Content-Name header can be used to represent the name of the part.
The syntax for the Content-Name header is:

    Content_Name   :=		"Content-Name: " text
    text	   :=		octet

    tspecials	   :=		"(" / ")" / "<" / ">" / "@"
				/  "," / ";" / ":" / "\" / <">
				/  "/" / "[" / "]" / "?" / "="
				; Must be in quoted-string,
				; to use within parameter values



The goal of this header is to support arbitrary names for parts. These
will often come from file names, but this header should not restrict
the allowed names to common file name character sets. This is the
rationale for allowing any text string to be used as the name. Text
strings that do not conform to the "us-ascii" character set as
described by the MIME RFC should use RFC1522 to encode the string
appropriately. The name should be quoted if it contains any characters
from the tspecials set.

User agents must be prepared to handle names that may not easily map
to file system names on the platform upon which they run. User agents
are responsible for naming the object appropriately if the name in the
Content-Name header can not be easily used.

User agents must be prepared to handle parts that have no name. User
agents should not require the recipient agent to process or honor the
Content-Name field.

3.0 Summary

The Content-Name header provides a simple mechanism for passing user
specified part names between sending and receiving agents. The
specification is sufficiently broad to allow virtually any name space
to be represented.
