Re: [apps-discuss] Comments on draft-ietf-appsawg-about-uri-scheme

Alexey Melnikov <alexey.melnikov@isode.com> Mon, 21 November 2011 10:22 UTC

Return-Path: <alexey.melnikov@isode.com>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6B86F21F8B8D for <apps-discuss@ietfa.amsl.com>; Mon, 21 Nov 2011 02:22:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.153
X-Spam-Level:
X-Spam-Status: No, score=-101.153 tagged_above=-999 required=5 tests=[AWL=-0.073, BAYES_00=-2.599, DATE_IN_PAST_24_48=1.219, MIME_8BIT_HEADER=0.3, 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 nA553yNtRwEJ for <apps-discuss@ietfa.amsl.com>; Mon, 21 Nov 2011 02:21:56 -0800 (PST)
Received: from rufus.isode.com (rufus.isode.com [62.3.217.251]) by ietfa.amsl.com (Postfix) with ESMTP id EDC3921F8B95 for <apps-discuss@ietf.org>; Mon, 21 Nov 2011 02:21:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1321870915; d=isode.com; s=selector; i=@isode.com; bh=8gLgfaGC9AUWYiH1cGkHWYZxsfjuE1g3w85Bewu8A9k=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=INw4eXS5GSCbCoLHP7L1NOosoCCW0wdtXRd3PsRJ2Ku/zhc3GhGYzdGf9kDqdJ4xDIeiA5 BprVBLjVPx4nUhfsF+3TDzMYFC8GRkE8+FPMrWZYPZPtyVHD2YSWxwALeWIg+n8FGQqab9 zQS8hmoHIk4EkRTWrNIMiFBM+8zhgsE=;
Received: from [192.168.1.144] ((unknown) [62.3.217.253]) by rufus.isode.com (submission channel) via TCP with ESMTPSA id <TsomQQAFEDVi@rufus.isode.com>; Mon, 21 Nov 2011 10:21:53 +0000
X-SMTP-Protocol-Errors: NORDNS
Message-ID: <4EC8B870.7070105@isode.com>
Date: Sun, 20 Nov 2011 08:21:04 +0000
From: Alexey Melnikov <alexey.melnikov@isode.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20111105 Thunderbird/8.0
To: "\"Mykyta Yevstifeyev (М. Євстіфеєв)\"" <evnikita2@gmail.com>
References: <4EC16815.80501@gmail.com> <4EC1D4C1.7080406@isode.com> <4EC40EC3.9080304@gmail.com>
In-Reply-To: <4EC40EC3.9080304@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-transfer-encoding: quoted-printable
Cc: Apps-discuss list <apps-discuss@ietf.org>
Subject: Re: [apps-discuss] Comments on draft-ietf-appsawg-about-uri-scheme
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 21 Nov 2011 10:22:00 -0000

On 16/11/2011 19:28, "Mykyta Yevstifeyev (М. Євстіфеєв)" wrote:
> 15.11.2011 4:56, Alexey Melnikov wrote:
>> Hi Mykyta,
> Hello Alexey.
Hi,

  [...]
>>    The 'about' URI MUST syntactically conform to the <about-uri> rule
>>    below, expressed using Augmented Backus-Naur Form (ABNF) [RFC5234]:
>>
>>      about-uri   = "about:" about-token [ about-query ]
>>      about-token = segment
>>      about-query = "?" query
>>      segment     = <as specified in RFC 3986, Appendix A>
>>      query       = <as specified in RFC 3986, Appendix A>
>>
>>    In terms of RFC 3986, <about-token> part corresponds to <hier-part>,
>>    and <about-query> to the query component of URI.
>>
>> s/query/<query> ? (I didn't check RFC 3986)
> 2.1. URI Scheme Syntax
>
> <query> doesn't include "?" - so query component.
You misunderstood. You have "about-token" enclosed in <>, I think you 
need <> around "query" as well.
>
>>
>>
>> 2.2. URI Scheme Semantics
>>
>>    However, it is impossible to specify binding between all the possible
>>    tokens and the semantics of 'about' URIs that would contain such
>>    tokens.  Therefore any application MAY resolve an 'about' URI to any
>>    desired resource, and MAY redirect such URIs.
>>
>> The meaning of redirection is not defined here. Do you mean 
>> redirection in HTTP sense?
>> If yes, I think a reference to HTTP (RFC 2616) is needed.
> Yes, redirection needs clarification.  That is not HTTP sense here - I 
> meant they can be replaced by some other URIs and than resolved to 
> what these URIs refer to, and the latter of them needn't necessarily 
> be 'http' URIs.
I don't know of any better reference than RFC 2616. Conceptually one URI 
is replaced with another, so even if a non HTTP URI is used, this should 
work.
>> 2.2.1. Special-Purpose 'about' URIs
>>
>>    A small, though expandable, range of <about-token>s are reserved for
>>    use in special-purpose 'about' URIs, abbreviated "SPU" (special-
>>    purpose URI).  Such tokens are named "special-purpose 'about' URI
>>    tokens", and abbreviated "SPT" (special-purpose token).
>>
>>    An SPU is an 'about' URI containing one of the registered SPTs as the
>> <about-token> part.  An SPU MUST be handled in strict accordance with
>>    the rules defined for SPT contained therein.  The SPT specification
>>    MAY define additional provisions on handling of <about-query> part in
>>    the corresponding SPU; by default, it MUST be ignored for the purpose
>>    of handling SPU.
>>
>> Where is this requirement coming from? Is this common behaviour among
>> existing browsers?
>
> We still haven't had such a term as 'special-purpose about URI', and 
> so we can't speak of common behavior.  IMO, taking into account the 
> intended semantics of SPUs, if the meaning of query isn't defined, it 
> must be ignored not to eliminate the said semantics and their utility.
It looks like the first part of the sentence is as a recommendation for 
new SPU designers, the second part is a recommendation for developers. 
This adds to confusion and I suggest you reword this, for example:

    The SPT specification MAY define additional provisions on handling 
of <about-query> part in
    the corresponding SPU. Unless specified otherwise, implementations 
MUST ignore the <about-query>
    part when processing SPUs.

This also avoids passive voice.
>>    SPU MAY be defined to be unresolvable.  This means that an
>>    application MUST NOT resolve it in some particular resource.
Did you mean "context" instead of "resource" here?
>>   Such
>>    SPUs may be used as placeholders, or in some other way.
>>
>> I fail to see utility in this. Can you maybe provide an example
>> of an unresolvable about URI?
>> (This might also affect the IANA registration section which includes
>> this flag in the token registration template.)
> That is what HTML5 wants to define (actually, defines).  we had a 
> discussion on this previously.
I think that if the document wants to talk about these, it needs to 
provide more details.

The fact that some URIs might be unresolvable in some contexts is kind 
of self evident. But maybe it is just me.
>> 2.2.2. Unrecognized 'about' URIs
>>
>>    Naturally, an application will support only a particular range of
>>    'about' URIs; also, some applications will support 'about' URIs that
>>    are not supported by an other one.  This document specifies the rules
>>    for handling unrecognized 'about' URIs.
>>
>>    An unrecognized 'about' URIs as a URI that may not be recognized by
>>    an application.  (Correspondingly, such categorization is per-
>>    application, not per-fact.)
>>
>> I don't understand the comment in () and I don't think it adds any value
>> anyway.
> It means that 'about' URI can't be defined to be unrecognized - this 
> all depends on application.
The first sentence quoted above already says that. Besides, I don't 
understand the meaning of "per-fact" in this context.
>>    An unrecognized 'about' URI SHOULD be
>>    handled as the <about:blank> URI, although other behavior is
>>    possible.
>>
>> Is there a reason why this is a SHOULD? This seems rather strong here.
>> I am thinking that displaying an error about unrecognized token would be
>> another reasonable choice. In fact it would be my preferred choice.
> This is for what I place SHOULD.  And this *is* common behavior.
>> 2.3. Encoding Considerations
>>
>>    'about' URIs are subject to encoding rules defined in RFC 3986
>>    [RFC3986].  'about' IRIs [RFC3987] are not permitted.
>>
>> The last quoted sentence: why?
>> If an about URI is used to edit configuration, I can see some Unicode 
>> being
>> passed in the query part of such URI.
> We have no evidence of use.  That is the reason.
I suppose I should test browser behaviour in the 2 cases mentioned above.