Re: [weirds] feedback on draft-designteam-weirds-using-http

Maarten Wullink <maarten.wullink@sidn.nl> Wed, 30 May 2012 07:13 UTC

Return-Path: <maarten.wullink@sidn.nl>
X-Original-To: weirds@ietfa.amsl.com
Delivered-To: weirds@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B77C411E8080 for <weirds@ietfa.amsl.com>; Wed, 30 May 2012 00:13:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.504
X-Spam-Level:
X-Spam-Status: No, score=-4.504 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_NL=0.55, HOST_EQ_NL=1.545, RCVD_IN_DNSWL_MED=-4]
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 5GrFLwUId05o for <weirds@ietfa.amsl.com>; Wed, 30 May 2012 00:13:44 -0700 (PDT)
Received: from ede1-kamx.sidn.nl (kamx.sidn.nl [94.198.152.69]) by ietfa.amsl.com (Postfix) with ESMTP id BEAB011E8079 for <weirds@ietf.org>; Wed, 30 May 2012 00:13:43 -0700 (PDT)
Received: from kahubcas1.SIDN.local ([192.168.2.41]) by ede1-kamx.sidn.nl with ESMTP id q4U7Dfk5030539 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=CAFAIL) for <weirds@ietf.org>; Wed, 30 May 2012 09:13:41 +0200
Received: from KAHUBCASN01.SIDN.local (192.168.2.75) by KAHUBCAS1.SIDN.local (192.168.2.41) with Microsoft SMTP Server (TLS) id 14.2.247.3; Wed, 30 May 2012 09:13:33 +0200
Received: from KAMBX2.SIDN.local ([fe80::b1fd:88d9:e136:9655]) by kahubcasn01.SIDN.local ([::1]) with mapi id 14.02.0247.003; Wed, 30 May 2012 09:13:32 +0200
From: Maarten Wullink <maarten.wullink@sidn.nl>
To: "weirds@ietf.org" <weirds@ietf.org>
Thread-Topic: [weirds] feedback on draft-designteam-weirds-using-http
Thread-Index: AQHNMqKQOmpHM0Br9EeC8avtWVbAUZbN8hUAgAATlgCAADB9gIATyiyQ
Date: Wed, 30 May 2012 07:13:32 +0000
Message-ID: <FEE5C6EC77CD3B4C9171FE9E0D31394D098A235A@kambx2.SIDN.local>
References: <4FB26082.3070800@gmx.de> <9B94D739-E037-4539-82E8-0E79BBFEC543@hxr.us> <4FB520B4.1070803@gmx.de> <A58EF70A-BBAA-4DA5-A951-C1F16356F741@hxr.us>
In-Reply-To: <A58EF70A-BBAA-4DA5-A951-C1F16356F741@hxr.us>
Accept-Language: nl-NL, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [192.168.2.94]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [weirds] feedback on draft-designteam-weirds-using-http
X-BeenThere: weirds@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "WHOIS-based Extensible Internet Registration Data Service \(WEIRDS\)" <weirds.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/weirds>, <mailto:weirds-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/weirds>
List-Post: <mailto:weirds@ietf.org>
List-Help: <mailto:weirds-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/weirds>, <mailto:weirds-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 May 2012 07:13:44 -0000

I would suggest removing the versioning information from the content-type.
Put the version information in the URL itself, like this where "v1" is the version 1 of the API.

/base/v1/domains/example.com

This way is clear what version of the API the client is connecting to and you do
Not have to abuse the content-type for this.

For more about versioning see:
http://blog.apigee.com/taglist/versioning


application\weirds_blah_v1+json

-----Original Message-----
From: weirds-bounces@ietf.org [mailto:weirds-bounces@ietf.org] On Behalf Of Andy Newton
Sent: donderdag 17 mei 2012 20:54
To: Julian Reschke
Cc: weirds@ietf.org
Subject: Re: [weirds] feedback on draft-designteam-weirds-using-http


On May 17, 2012, at 12:00 PM, Julian Reschke wrote:

> Using URI templates sound promising.

This keeps coming up, but so far nobody has shown why it is useful. I think what we want out of URI templating is to be shown what utility it adds before placing it in the specifications.

>>> b) s/MIME type/media type/
>>> 
>>>   Accept header.  Servers SHOULD respond with an appropriate MIME type
>>>   in the Accept header in accordance with the preference rules for the
>>>   Accept header in HTTP [RFC2616].  However the use by clients of
>>>   multiple MIME types in the Accept header is NOT RECOMMENDED.
>>> 
>>> It's not clear to me why you're profiling HTTP here.
>> 
>> Because for this application, clients will probably only know one format. The need to use the complex rules for specifying multiple formats is unnecessary.
> 
> I don't follow. Servers need to process the Accept header field according to RFC 2616. Are you saying they can rely on it being simpler? In which case, this would need to be a "MUST NOT".

Uh, yeah. I think I'm trying to have it both ways. It's probably best to simply remove this.

>>>   that it desires JSON or "application\weirds_blah_v1+json" to express
>>>   that it desires WEIRDS BLAH version 1 in JSON.  The server MUST
>>>   respond with "application\weirds_blah_v1+json".
>>> 
>>> This seems to invent a new concept of media ranges in content negotiation that didn't exist before. Why is this needed?
>> 
>> For signaling the version of the schema desired. Is there another method you feel is more appropriate?
> 
> The method is probably ok, but the way it was explained was confusing: client specifies it wants "A", but server is allowed to return "B" (and label it as "B"), if it has out-of-band info that the client will understand it, too. Note that here "A" and "B" could be any media type (the label is really opaque).

Ok. I'll look into cleaning this up.

> 
>>> 5.2.  Redirects
>>> 
>>>   If a server wishes to inform a client that the answer to a given
>>>   query can be found elsewhere, it should return either a 301 or a 303
>>>   reponse code and an HTTP URL in the Redirect header.  The client is
>>> 
>>> s/reponse/response/
>>> 
>>>   expected to issue a subsequent query using the given URL without any
>>>   processing of the URL.  In other words, the server is to hand back a
>>>   complete URL and the client should not have to transform the URL to
>>>   follow it.
>>> 
>>> HTTPbis allows relative URIs here, and so should this protocol.
>> 
>> Why? It is simpler for the clients if the URLs are absolute.
> 
> Do not profile the base protocol unless there is a very very good reason.

I now understand what you are saying.

>>>   ...
>>> 
>>> 7.  Use of XML
>>> 
>>> 7.1.  Signaling
>>> 
>>>   Clients may signal their desire for XML using the "application\xml"
>>>   mime type or a more application specific XML mime type.
>>> 
>>> 7.2.  Naming and Structure
>>> 
>>>   Well-formed XML may be programmatically produced using the JSON
>>>   encodings due to the JSON naming rules outlined in Section 6.2 and
>>>   the following simple rules:
>>> 
>>>   1.  Where a JSON name is given, the corresponding XML element has the
>>>       same name.
>>> 
>>>   2.  Where a JSON value is found, it is the content of the
>>>       corresponding XML element.
>>> 
>>> That is not true for all JSON values (consider control characters).
>> 
>> Ah yes, the escaping needs to be changed from JSON to XML.
> 
> There's still a set of characters that won't be usable in XML (yes, not even escaped).

That would be &, <, and >. So I guess we should mention those are to be escaped as well. Gosh XML is overly complex.


Thanks for the input.

-andy

_______________________________________________
weirds mailing list
weirds@ietf.org
https://www.ietf.org/mailman/listinfo/weirds