Re: [art] Question regarding RFC 8089

Matthew Kerwin <matthew@kerwin.net.au> Mon, 17 December 2018 21:58 UTC

Return-Path: <phluid61@gmail.com>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6FA9912958B for <art@ietfa.amsl.com>; Mon, 17 Dec 2018 13:58:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.4
X-Spam-Level:
X-Spam-Status: No, score=-1.4 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F5mVon4ESyzA for <art@ietfa.amsl.com>; Mon, 17 Dec 2018 13:58:05 -0800 (PST)
Received: from mail-it1-f181.google.com (mail-it1-f181.google.com [209.85.166.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 85164126C01 for <art@ietf.org>; Mon, 17 Dec 2018 13:58:05 -0800 (PST)
Received: by mail-it1-f181.google.com with SMTP id c9so1363302itj.1 for <art@ietf.org>; Mon, 17 Dec 2018 13:58:05 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TD83ZasdDm66jL89XxI9z4lM5fMupqKryPvxVWnYEC8=; b=Hu/pitlf0yjRdyOGnWD9uY/+c8DdRfRsOrnO9bxRxt76owG9vnZnC9CiQa1bDzUK2j pJvE6HH7dZNM41HVZfqOIDTFTe09mBY6vjVXnq5kdgIHkH15wP3EBP1T4tzdxkpxhyOj 4c3neRNmVmdKTnfxXlwBV20DWk6sOdTNhEakRTdQRG1I4VRMvCaX8w2pwZtP8PAsOvMa 8mhEANa7FRTUOw1vCQLMgFxSh1BZkdh07iKiLqbodsRG5vaCCiAm0Fd9Jxl4AUIJyFAL jmVdlD8b9bUHsFU5H8k7pvVLYjCXaypgPgZmjLZ2uTr8qtM5FTE9djf21eA/KANReftr OsNg==
X-Gm-Message-State: AA+aEWZkZbNIkgYr35/mGxeLALllJy2+uUUH5zYLn/K7gc5B6gt6wbFe 01fkDnfqRUVNAI+qrwQZTY0smHiqBzmIxYC4FUrQAw6D
X-Google-Smtp-Source: AFSGD/XDJ+dwtbTRmHQYVhe7d0CC1q/A8agnr1/H6vV69Nt+2Ie4dvb8L6EH+uYJZPNezClhFEnzy7Vm6JAry4pqYCc=
X-Received: by 2002:a02:158d:: with SMTP id 13mr13190055jaq.97.1545083884642; Mon, 17 Dec 2018 13:58:04 -0800 (PST)
MIME-Version: 1.0
References: <f49638dc-4a0e-e03d-7e91-b968a1217679@redhat.com>
In-Reply-To: <f49638dc-4a0e-e03d-7e91-b968a1217679@redhat.com>
From: Matthew Kerwin <matthew@kerwin.net.au>
Date: Tue, 18 Dec 2018 07:57:54 +1000
Message-ID: <CACweHNBps_O0JqAUFj5FD3V+LzbTWUKNKuFzKk82WR+33b8seA@mail.gmail.com>
To: Stephan Bergmann <sbergman@redhat.com>
Cc: "General Area Review Team (gen-art@ietf.org)" <art@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/-Jh6vAzkc8u_aBx4Ljxx-byz5sc>
Subject: Re: [art] Question regarding RFC 8089
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Dec 2018 21:58:07 -0000

On Tue, 18 Dec 2018 at 03:15, Stephan Bergmann <sbergman@redhat.com> wrote:
>
> Is it intentionally so that file URIs do not support neither a query nor
> a fragment part?  At least, that is how I read RFC 8089 section 2 in
> combination with RFC 3986 section 3.
>

I would say: a bit yes, a bit no. There was definitely no support for
query or fragment in RFC 1630 nor 1738, and we never explicitly
*added* support in 8089.

The two goals of RFC 8089 were: to publish an RFC for file URIs with
unambiguous status, and to align the syntax/definition with RFC 3986.

According to the letter of the law (i.e. RFC 3986): "The query
component contains non-hierarchical data that, along with data in the
path component, serves to identify a resource..."  So as far as
aligning with that definition, it wouldn't have made sense to add a
query component.  Files are identified by purely hierarchical data.

As to the fragment, it's a bit murky, but the way I read RFC 3986,
section 3.5, "The fragment's format and resolution is ... dependent on
the media type of a potentially retrieved representation..." Since the
resource representation retrieved by dereferencing a file URI doesn't
have a media type (heuristics notwithstanding) it doesn't make sense
to include a fragment component in the URI scheme, since it would
always be undefined.

All that said, file URI syntax is now a subset of the generic syntax,
so you're technically able to parse a file URI with query and/or
fragment components.  If that's useful for you -- e.g. if you are
confident that your media type heuristics are good enough to make
fragment components workable -- then nothing stops you.  Clearly the
browsers support it; although I don't know what it would mean for
something like cURL or urllib to have to deal with a query component,
so I don't know how it could be added to the scheme definition.  You
could always just go with https://url.spec.whatwg.org/ instead...

A little bit of whataboutism occurs to me: what about data URIs?  They
*do* have media type information, but don't define fragments in the
URI scheme.

>
> (Asking because it can occasionally be convenient to host HTML pages
> with "active content" that interacts with a URI's query part on a local
> file system, and try to access them from a browser with <file:/...?...>
> instead of <http://.../...?...> URIs.)
>

That is a good point.  It's the sort of thing that makes me start
asking deeply philosophical questions, like: what is a URI?  How much
of the URI is now consumed by the resource representation as well as
(instead of?) the scheme's protocol?

My instinctual feeling is that RFC 3986 is out of date.  Anyone up for
a rewrite?

Cheers
-- 
  Matthew Kerwin
  https://matthew.kerwin.net.au/