Web APIs and HTTP Clients

Yesterday I was asked by one of the senior developers whether a project was a HTTP client or an API etc as that would affect whether I downgraded a DLL. I couldn’t give them an answer. I had a rough idea of what each were when I was working on creating a new web service months ago. Now that I’ve moved onto other things (and had Christmas and New years) my rough idea has dissolved fast. So, I decided to not only learn the difference between these things but how they relate to each other and write an idiot proof definition. If I forgot again in the future I’d have this to refer to and refresh myself quickly. So here’s what I’ve come up with, if you feel that this is incorrect or could use a little tweaking please let leave a comment.

Web APIs are programming interfaces that consist of one or more endpoints. Endpoints are locations (urls) that contain information in the form of JSON or XML. These are static.

Http clients interact with (server-side) web APIs using the request and response message system. Http clients get requests and responses in the form of JSON or XML from web APIs.

Restful web APIs conform to the constraints of Rest. They mostly communicate over http protocols i.e. Http and https using the standard methods e.g get, post, delete that webpages use.

<!–January 7, 2016–>