[clug] July tech talks

Michael Still mikal at stillhq.com
Wed Jul 17 08:08:11 UTC 2019


On Wed, Jul 17, 2019 at 5:54 PM George at Clug via linux <
linux at lists.samba.org> wrote:

[snip]

A RESTful API is an application program interface (API) that uses HTTP
> requests to GET, PUT, POST and DELETE data. ... REST technology is
> generally preferred to the more robust Simple Object Access Protocol (SOAP)
> technology because REST leverages less bandwidth, making it more suitable
> for internet usage
>

Yes. REST stands for REpresentational State Transfer (
https://en.wikipedia.org/wiki/Representational_state_transfer). Its a style
of API which focuses on objects and the side effects (HTTP verbs
specifically,
https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods)
on them. So for example, let's say I have a "CLUG member" object. You would
generally end up with an interface which looked something like:

GET http://clug.org.au/members -- get a list of members
GET http://clug.org.au/members/<<id>> -- get a specific member by id
POST http://clug.org.au/members -- create a new member
PUT http://clug.org.au/members<<id>> -- update a member
DELETE http://clug.org.au/members/<<id>> -- delete a member

Where the descriptions of the objects are in JSON (JavaScript Object
Notation, https://en.wikipedia.org/wiki/JSON) format. That notation is used
because REST was developed by hipsters writing JavaScript apps and it was
convenient to them at the time.

I don't really have a strong theory on why SOAP, CORBA, DCOM, et cetera all
died out except that they were all terrible and made me want to have a lie
down. Especially DCOM, it was super terrible in fractal ways. That said,
HTTP based APIs are generally popular because we're very good these days at
scaling HTTP and smashing it through terrible corporate proxies.

Michael


More information about the linux mailing list