Re: Content-Disposition (new issue?)

Julian Reschke <julian.reschke@gmx.de> Fri, 25 July 2008 11:23 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@core3.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E90A93A6A31 for <ietfarch-httpbisa-archive-bis2Juki@core3.amsl.com>; Fri, 25 Jul 2008 04:23:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.74
X-Spam-Level:
X-Spam-Status: No, score=-4.74 tagged_above=-999 required=5 tests=[BAYES_20=-0.74, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2ttakJR2ilTO for <ietfarch-httpbisa-archive-bis2Juki@core3.amsl.com>; Fri, 25 Jul 2008 04:23:48 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by core3.amsl.com (Postfix) with ESMTP id C8CBA3A69F4 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 25 Jul 2008 04:23:45 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.63) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1KMLNI-0006ec-OH for ietf-http-wg-dist@listhub.w3.org; Fri, 25 Jul 2008 11:22:16 +0000
Received: from [128.30.52.63] (helo=bart.w3.org) by frink.w3.org with esmtp (Exim 4.63) (envelope-from <julian.reschke@gmx.de>) id 1KMLNC-0006bZ-S8 for ietf-http-wg@listhub.w3.org; Fri, 25 Jul 2008 11:22:10 +0000
Received: from mail.gmx.net ([213.165.64.20]) by bart.w3.org with smtp (Exim 4.63) (envelope-from <julian.reschke@gmx.de>) id 1KMLN3-0001Sy-Uo for ietf-http-wg@w3.org; Fri, 25 Jul 2008 07:22:10 -0400
Received: (qmail invoked by alias); 25 Jul 2008 11:21:29 -0000
Received: from mail.greenbytes.de (EHLO [192.168.1.106]) [217.91.35.233] by mail.gmx.net (mp058) with SMTP; 25 Jul 2008 13:21:29 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1/FicJ4LI/FCTZrx5Xm8nn+eTGn7zqYeffnvNcWcm eWyicDOHkzjrL4
Message-ID: <4889B733.1090809@gmx.de>
Date: Fri, 25 Jul 2008 13:21:23 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.4) Gecko/20060516 Thunderbird/1.5.0.4 Mnenhy/0.7.4.666
MIME-Version: 1.0
To: Henrik Nordstrom <henrik@henriknordstrom.net>
CC: ietf-http-wg@w3.org
References: <485B7F45.3090804@gmx.de> <48626FDF.3090909@gmx.de> <48836992.6010702@gmx.de> <1216683011.30284.28.camel@henriknordstrom.net>
In-Reply-To: <1216683011.30284.28.camel@henriknordstrom.net>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Y-GMX-Trusted: 0
X-FuHaFi: 0.53
Received-SPF: pass
X-SPF-Guess: pass
X-W3C-Hub-Spam-Status: No, score=-2.6
X-W3C-Hub-Spam-Report: BAYES_00=-2.599, SPF_PASS=-0.001
X-W3C-Scan-Sig: bart.w3.org 1KMLN3-0001Sy-Uo da0ab8578723ea88b35be327533d1fd7
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Content-Disposition (new issue?)
Archived-At: <http://www.w3.org/mid/4889B733.1090809@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/4964
X-Loop: ietf-http-wg@w3.org
Sender: ietf-http-wg-request@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Resent-Message-Id: <E1KMLNI-0006ec-OH@frink.w3.org>
Resent-Date: Fri, 25 Jul 2008 11:22:16 +0000

Henrik Nordstrom wrote:
> On sön, 2008-07-20 at 18:36 +0200, Julian Reschke wrote:
> 
>> In the meantime I noticed that Content-Disposition really is a second 
>> rate header in RFC2616:
> 
> Indeed. I assumed you alread knew this. It's very obvious from the way
> 2616 is written.. Content-Disposition is not officially part of
> HTTP/1.1, only mentioned in RFC2616 as it is in widespread use so
> implementers are aware what it is and how to best deal with it..
> 
> Quote from 2616:
> 
>   "Content-Disposition is not part of
>    the HTTP standard, but since it is widely implemented, we are
>    documenting its use and risks for implementors"

Yep. However, it really does *not* document any risks: it just states 
that there are some, and the points to the Security Considerations of 
the RFC2183. See 
<http://greenbytes.de/tech/webdav/rfc2616.html#rfc.section.15.5>:

"15.5 Content-Disposition Issues

RFC 1806 [35], from which the often implemented Content-Disposition (see 
Appendix 19.5.1) header in HTTP is derived, has a number of very serious 
security considerations. Content-Disposition is not part of the HTTP 
standard, but since it is widely implemented, we are documenting its use 
and risks for implementors. See RFC 2183 [49] (which updates RFC 1806) 
for details."

> and "documented" in an appendix outside the actual definiiton of
> HTTP/1.1, relying heavily on references to other RFCs and plenty of
> warnings...

I think it's ok to refer to the MIME definition of Content-Disposition. 
What's relevant is to document what parts are useful and how they are 
used, and to state which profile of RFC2231 needs to be supported by 
clients.

>> - more importantly, it doesn't appear in RFC 2068 at all (so how did it 
>> get into the Draft Standard?)
> 
> I wasn't around, but a guess is due to security flaws in multiple
> browser implementations at the time making it a hot topic...

Probably. It's still strange that we have it in RFC 2616, but not in RFC 
2068. Seems that a violation of the standards process to me.

>> Considering that, it's seems best to remove all mentions of C-D from 
>> Part 3, and to create a separate spec that describes the use of 
>> Content-Disposition within HTTP.
> 
> I.e. what 2616 did, only that it used an appendix instead of a separate
> document..

I would argue that an appendix is still part of the specification.

> I am perfectly fine with that, and also keeping that header outside
> standards track. But I'll also bet that a number of people will argue
> that since it's in widespread use it should be within the standard...

Oh, it absolutely should be on the standards track; it's an essential 
feature. However, the current state of the specs (2616/2183/2231) makes 
it needlessly complicated to find out what needs to be implemented.

> Regards
> Henrik

BR, Julian