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 --