Re: #186: Document HTTP's error-handling philosophy

Julian Reschke <julian.reschke@gmx.de> Sun, 24 July 2011 18:12 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9AEA021F8A64 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 24 Jul 2011 11:12:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZPX21Wv9Q5jo for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 24 Jul 2011 11:12:23 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id DAEA021F8A57 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 24 Jul 2011 11:12:22 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.69) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1Ql3A0-0002Q8-Oh for ietf-http-wg-dist@listhub.w3.org; Sun, 24 Jul 2011 18:12:16 +0000
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.69) (envelope-from <julian.reschke@gmx.de>) id 1Ql39t-0002IN-SO for ietf-http-wg@listhub.w3.org; Sun, 24 Jul 2011 18:12:09 +0000
Received: from mailout-de.gmx.net ([213.165.64.23]) by maggie.w3.org with smtp (Exim 4.72) (envelope-from <julian.reschke@gmx.de>) id 1Ql39s-0000VG-Iz for ietf-http-wg@w3.org; Sun, 24 Jul 2011 18:12:09 +0000
Received: (qmail invoked by alias); 24 Jul 2011 18:11:41 -0000
Received: from dhcp-14e3.meeting.ietf.org (EHLO [130.129.20.227]) [130.129.20.227] by mail.gmx.net (mp015) with SMTP; 24 Jul 2011 20:11:41 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1+RhPsyoJWREPMWn9htjPYfZ550qiTVqF1yXOwBr8 YpAXTgDIPSWnMF
Message-ID: <4E2C605B.6040506@gmx.de>
Date: Sun, 24 Jul 2011 20:11:39 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0
MIME-Version: 1.0
To: Mark Nottingham <mnot@mnot.net>
CC: httpbis Group <ietf-http-wg@w3.org>
References: <086A82E0-400B-4A73-87D1-8652156BE855@mnot.net> <4DDA1A1D.2040306@gmx.de> <2619E48F-C21A-4A53-9E97-7E2E8AC797E8@mnot.net> <4DDB52B6.8060402@gmx.de>
In-Reply-To: <4DDB52B6.8060402@gmx.de>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Received-SPF: pass client-ip=213.165.64.23; envelope-from=julian.reschke@gmx.de; helo=mailout-de.gmx.net
X-W3C-Hub-Spam-Status: No, score=-1.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1Ql39s-0000VG-Iz 0c8cef7ad5922059c2d46558647cead4
X-Original-To: ietf-http-wg@w3.org
Subject: Re: #186: Document HTTP's error-handling philosophy
Archived-At: <http://www.w3.org/mid/4E2C605B.6040506@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/11054
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-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Resent-Message-Id: <E1Ql3A0-0002Q8-Oh@frink.w3.org>
Resent-Date: Sun, 24 Jul 2011 18:12:16 +0000

On 2011-05-24 08:39, Julian Reschke wrote:
> ...

Revised proposal from the IETF 81 terminal room:

"Conformance and Error Handling
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
document are to be interpreted as described in [RFC2119].

This document defines conformance criteria for several roles in HTTP 
communication, including Senders, Recipients, Clients, Servers, 
User-Agents, Origin Servers, Intermediaries, Proxies and Gateways. See 
[ref to Terminology] for a definitions of these terms.

An implementation is considered conformant if it complies with all of 
the requirements associated with its role(s). Note that SHOULD-level 
requirements are relevant here, unless one of the documented exceptions 
is applicable.

This document also uses ABNF to define valid protocol elements. In 
addition to the prose requirements placed upon them, Senders MUST NOT 
generate protocol elements that are invalid.

Unless noted otherwise, Recipients MAY take steps to recover a usable 
protocol element from an invalid construct. However, HTTP does not 
define specific error handling mechanisms, except in cases where it has 
direct impact on security. This is because different uses of the 
protocol require different error handling strategies; for example, a Web 
browser may wish to transparently recover from a response where the 
Location header field doesn't parse according to the ABNF, whereby in a 
systems control protocol using HTTP, this type of error recovery could 
lead to dangerous consequences."

Changes:

- Simplified the first sentence of the last paragraph

- Changed the example to use the Location header field

...and we're going to put this into the Introductions for all seven parts.

Feedback appreciated,

Julian