Re: /.well-known (RFC5785) vs versioned APIs [and EST/RFC7030]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Feb 24, 2019 at 03:12:19PM -0500, Martin Thomson wrote:
> On Mon, Feb 25, 2019, at 04:55, Michael Richardson wrote:
> > I'm not sure where this query goes, so ietf@xxxxxxxx.

I thought art@xxxxxxxx was supposed to be most appropriate for these
sorts of questions, being the successor to apps-discuss, but it seems to
be very low traffic nowadays (compared to apps-discuss!), and a recent
post of mine there got no replies.  ietf@xxxxxxxx seems appropriate
given that.

> My view on this, which- in the interest of transparency - is not
> uniformly held, is that versioning in URLs is generally not advisable
> for the same reason x- isn't. See rfc 6648.
> 
> I see /api/v1 all the time, but don't see the point. What that does is
> bake semantics into the path, which is akin to an rfc 7320 violation.
> 
> The goal is to ensure that incompatible versions are properly
> distinguished. For that purpose, all you need to do is ensure that the
> URL for v1 is not the same as the URL for v2. To that end, /api and
> /apiv2 work amply.  Or you could name the protocol.

While I agree that I'd rather not see a version number in URIs if I
don't have to, I don't think there's much of a moral difference
between /api/vN/... and {/api/..., /apivN/...}.  Both end up with
version numbers in the URI local-part components, with the second
case avoiding them only for the first version -- hardly a huge win.

If you really want to avoid version numbers in URI local-part components
then you should have different URI local-parts for different versions.

Or register and use a new header to communicate version numbers.  Maybe
we should have standard, generic API version negotiation/indication
headers?

> For est, I tend to think that /.well-known/ is overused in general,
> because configuring a URL is usually adequate.  But I can't hold a

If you need to co-locate a discovery API with an existing web service,
then this works.  Of course, we should be using SRV or URI RRs for
discovery, but just using /.well-known/ at the domain apex is very
tempting, which is why it happens.  If we don't want this, then we
should have an RFC like 6648 but for discovery protocols.

> strong position on a protocol that I barely know. [...]

Well, me too.  I'm just guessing here that discovery was the driver
for using /.well-known/est.

Nico
-- 




[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux