Re: [websec] of quoted-string header field param value syntax (was: Strict-Transport-Security syntax redux)

Julian Reschke <julian.reschke@gmx.de> Mon, 16 January 2012 09:56 UTC

Return-Path: <julian.reschke@gmx.de>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CB15121F84C3 for <websec@ietfa.amsl.com>; Mon, 16 Jan 2012 01:56:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.573
X-Spam-Level:
X-Spam-Status: No, score=-103.573 tagged_above=-999 required=5 tests=[AWL=-0.974, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id POa1mf7LBGwY for <websec@ietfa.amsl.com>; Mon, 16 Jan 2012 01:56:12 -0800 (PST)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by ietfa.amsl.com (Postfix) with SMTP id C433221F8478 for <websec@ietf.org>; Mon, 16 Jan 2012 01:56:11 -0800 (PST)
Received: (qmail invoked by alias); 16 Jan 2012 09:56:10 -0000
Received: from p3EE264D8.dip.t-dialin.net (EHLO [192.168.178.36]) [62.226.100.216] by mail.gmx.net (mp030) with SMTP; 16 Jan 2012 10:56:10 +0100
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1/Mq0Js4WzMd0ppIy8ym+wqzFqFKWKAL+Wf7pDgcu CZ5r0MNYyK6ZNq
Message-ID: <4F13F436.9040803@gmx.de>
Date: Mon, 16 Jan 2012 10:56:06 +0100
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20111222 Thunderbird/9.0.1
MIME-Version: 1.0
To: =JeffH <Jeff.Hodges@KingsMountain.com>
References: <4F139068.3030809@KingsMountain.com> <4F13DEA2.1000801@gmx.de>
In-Reply-To: <4F13DEA2.1000801@gmx.de>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] of quoted-string header field param value syntax (was: Strict-Transport-Security syntax redux)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 16 Jan 2012 09:56:12 -0000

On 2012-01-16 09:24, Julian Reschke wrote:
> On 2012-01-16 03:50, =JeffH wrote:
>> ...
>> though, I remain curious as to why the STS parsing in Firefox & Chrome
>> is apparently each a one-off and doesn't use the more generic HTTP
>> header-field parsing routines that are available and which appear to
>> handle quoted-string, arbitrary header field parameter ordering, etc.
>> ...
>
> Well. One reason for that is that STS is indeed different from other
> header fields (for instance, things like Content-Type, Expect, or
> Cache-Control).
>
> To enable UAs to re-use code, you need to specify the header field so
> that code can indeed be re-used.
> ...

Expanding on that...

If STS used commas as delimiter (so use the list style), it could be 
compatible with Expect 
(<http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-latest.html#header.expect>) 
and Prefer (<https://tools.ietf.org/html/draft-snell-http-prefer>), and 
would be similar to Cache-Control (minus legacy quirks).

But it uses semicolon, which makes it more similar to things like 
Content-Type, Content-Disposition and Link (RFC 5988). These header 
fields however describe a single item plus parameters, not multiple items.

Best regards, Julian