Re: [apps-discuss] Fun with URLs and regex

Matthew Kerwin <> Wed, 28 January 2015 23:59 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 15ACD1A8784 for <>; Wed, 28 Jan 2015 15:59:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.028
X-Spam-Status: No, score=-1.028 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id XlGXLJazCTdh for <>; Wed, 28 Jan 2015 15:59:18 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:400d:c04::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 8AA671A854D for <>; Wed, 28 Jan 2015 15:59:18 -0800 (PST)
Received: by with SMTP id i50so21364974qgf.5 for <>; Wed, 28 Jan 2015 15:59:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=RTsKTor2Q+K8Y2HhpPqHX2PwIEE6x6u1bWIBhFgsLQA=; b=G7R1MWVTofF/Ai1O1yW2R7Vr8l4Gymz8xolr4UUugGo3rws3Je7CfT7DElneGl4rDq bN8xHVjmPSn1fhMu9Nhx9BSEVmcN8irfPC3cZFBXGB+GiLGK51VEfLMrwjNpYRFXaV86 r/4lzneYQCKui66N41eF4yRLiz9ed6gmJSovHo3zhLlDfDy6vfeooqh0F2W0rq3hm7Hy RD16lUjtVYkDm0dl71FVAWLca4bNPQrUtwShCst0214QXUeBtm5twAV4SttXHH2xkfZM yPVBYBIa0Y+HDtHFxlTgCGfvi5zBU+LFx83LWbziEKZCD+tSmX7c7lb+yMjF/DmN658W 8nPA==
MIME-Version: 1.0
X-Received: by with SMTP id m105mr17681792qgm.79.1422489557819; Wed, 28 Jan 2015 15:59:17 -0800 (PST)
Received: by with HTTP; Wed, 28 Jan 2015 15:59:17 -0800 (PST)
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <> <>
Date: Thu, 29 Jan 2015 09:59:17 +1000
X-Google-Sender-Auth: QtnnpdgGAzl04RpQax2VS-pNeQg
Message-ID: <>
From: Matthew Kerwin <>
To: Julian Reschke <>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <>
Cc: "Roy T. Fielding" <>, Mark Nottingham <>, IETF Apps Discuss <>
Subject: Re: [apps-discuss] Fun with URLs and regex
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: General discussion of application-layer protocols <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 28 Jan 2015 23:59:20 -0000

On 29/01/2015, Julian Reschke <> wrote:
> I agree that the fragment is part of the URI; the question, as far as I
> understand, is whether the *scheme* definition should include the
> fragment, given the fact that you can attach a fragment to any URI anyway.

The answer to this affects what I write in the 'file' scheme draft. I
was advised early on to not mention fragments (which I took as
"disallow by omission") because, while it's easy to define syntax, the
scheme also has to define semantics, and fragment semantics are tied
to content type, and dereferenced 'file' URIs don't have a
well-defined content type.

Whether or not I mention it comes back to the definition and intended
use-case of RFC 3986; if it defines an 'abstract' syntax - in the POO
sense - then there's no such thing as a universal parser (i.e. It's
impossible to parse a URI with an unknown scheme). If it defines a
low-level structure, then any URI can be parsed, but the individual
components can't be validated without deferring to scheme-specific

If the former and I don't include the fragment in 'file', it isn't
allowed. If the latter, I just leave a hole in the spec.

  Matthew Kerwin