Re: [Ietf-message-headers] Packaging, was: provisional registration: packaged content over http (5 headers)

Richard Jones <> Tue, 17 January 2012 14:49 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 41C6921F8525 for <>; Tue, 17 Jan 2012 06:49:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.499
X-Spam-Status: No, score=-3.499 tagged_above=-999 required=5 tests=[AWL=0.099, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id RwFp9HS-v7hE for <>; Tue, 17 Jan 2012 06:49:09 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 60B6221F8518 for <>; Tue, 17 Jan 2012 06:49:09 -0800 (PST)
Received: by iaae16 with SMTP id e16so11491236iaa.31 for <>; Tue, 17 Jan 2012 06:49:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=SZ/CEOmDd17E344xtBhiUJh2f9oqAbhUTao1epoIjwY=; b=G+M9d2zzXnErpP+MR5XQnSezLzvvcwLyMWQu5I7eZ4Vm1/BZPpXCQlhz9qbXhmXI18 9wH7fyN1L/sbesUY9urPyQlruksuqbAspH2U35KPQsSH2CJaGLTbUjzCjHHQcUg8uHtc uy8AHBjYaSnsqSvvUTAr4kEs+6tm2lLwI27v4=
MIME-Version: 1.0
Received: by with SMTP id vx6mr15210250igb.16.1326811749039; Tue, 17 Jan 2012 06:49:09 -0800 (PST)
Received: by with HTTP; Tue, 17 Jan 2012 06:49:08 -0800 (PST)
In-Reply-To: <>
References: <> <> <>
Date: Tue, 17 Jan 2012 14:49:08 +0000
Message-ID: <>
From: Richard Jones <>
To: Julian Reschke <>
Content-Type: multipart/alternative; boundary=e89a8f3ba963fc3eb404b6ba6ec8
Subject: Re: [Ietf-message-headers] Packaging, was: provisional registration: packaged content over http (5 headers)
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion list for header fields used in Internet messaging applications." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 17 Jan 2012 14:49:10 -0000

Hi Julian,

On Tue, Jan 17, 2012 at 9:05 AM, Julian Reschke <>wrote;wrote:

> On 2012-01-17 09:44, Graham Klyne wrote:
>> ...
>> [[
>> The Packaging header applies to resources delivered over HTTP which are
>> comprised of component resources, and is for uniquely identifying these
>> well structured packaged objects in a similar way that Content-Type does
>> for MIME formats.
>> ]]
>> I think this would be a good opportunity to canvas for information about
>> whether any other projects are addressing similar issues w.r.t.
>> conveying information about packaging or composite object formats in
>> HTTP. I'm pretty sure this isn't a one-off problem.
> +1

Is this something we can do through this or another IETF list?

>  Packaging doesn't really fall into the role of a content-type, as it
>> doesn't say anything about the nature of purpose of the packaged
>> content. But it also is not really a content transfer encoding, as it
>> may convey application-relevant metadata in addition to simply encoding
>> content for transfer.
>> The nearest I can think of that has been addressed in the IETF is the
>> MHTML work from some years ago, which uses multipart/related structures
>> to bundle up the content of a web page
>> (**rfc2557<>)7>).
>> But that doesn't really work in
>> this case, as SWORD and related applications are already using a number
>> of alternative formats that don't easily map into a multipart/related or
>> similar MIME encapsulation structure.
>> [[
>> The Packaging request header SHOULD be used by the client during HTTP
>> POST to give information to the server about the packaging format used
>> to construct the content being POSTed or PUT. Servers SHOULD use this
> POST *and* PUT?

Yes.  The use case is that if you've POSTed a package before, you might
want to replace it, so you could PUT a new package (potentially in a
different format) to the original package URI.

>  information to unpack the supplied content into its component parts. If
>> the server does not understand the package format it MUST either store
>> the content as delivered without unpacking or respond with 415
>> (Unsupported Media Type).
>> ]]
> No. 415 is for unsupported media types.

Ok, interesting; what response should be returned?

>  It is not clear from this text that the SHOULD here applies to
>> implementations of SWORD. For the header specification document, I think
>> it would be better to avoid such normative claims about its use, which
>> might be read as claiming that any HTTP client SHOULD use the header.
>> e.g. just say "The Packaging request header may be used by a client ..."
> From the description in the spec it's not clear to me at all how this is
> supposed to work, and why it is needed in addition to the Content-Type. I'm
> sure there's a reason, but it really would be good to add more explanations.

The main issue is that Content-Type is for the mimetype, which would be
something like application/zip, whereas the Packaging header allows us to
define what is inside the zip; for example, it may by a BagIt, or a METS
package, or such?

Do you imagine a way in which the packaging could be included in the
Content-Type?  We did look into Media Formats, but their general adoption
level seemed quite low, and this approach felt simpler.