- From: Melvin Carvalho <melvincarvalho@gmail.com>
- Date: Thu, 24 May 2012 09:08:00 +0200
- To: public-rww <public-rww@w3.org>
- Message-ID: <CAKaEYhLtehJL+z7-Jo9dzScvLZckLSfF62rQfxVDfOPcCx_VPQ@mail.gmail.com>
1. Introduction There is an emerging preference for non-browser Web applications (colloquially, "HTTP APIs") to use a link-driven approach to their interactions to assure loose coupling, thereby enabling extensibility and API evolution. This is based upon experience with previous APIs which specified static URI paths (such as "http://api.example.com/v1.0/widgets/abc123/properties") have resulted in brittle, tight coupling between clients and servers. Sometimes, these APIs are documented by a document format like WADL [1] that is used as a "design-time" description; i.e., the URIs and other information they describe are "baked into" client implementations. In contrast, a "follow your nose" API advertises the resources available to clients using link relations [RFC5988] and the formats they support using internet media types [RFC4288]. A client can then decide - at "run time" - which resources to interact with based upon its capabilities (as described by link relations), and the server can safely add new resources and formats without disturbing clients that are not yet aware of them. As such, the client needs to be able to discover this information quickly and efficiently use it to interact with the server. Just as with a human-targeted "home page" for a site, we can create a "home document" for a HTTP API (often, at the same URI, found through server-driven content negotiation) that describes it to non-browser clients. Of course, an HTTP API might use any format to do so; however, there are advantages to having a standard home document format. This specification suggests one for consideration, using the JSON format [RFC4627]. https://datatracker.ietf.org/doc/draft-nottingham-json-home/?include_text=1
Received on Thursday, 24 May 2012 07:08:33 UTC