Search code examples
resthttpclient

Difference between HTTP Client and REST Client


I am a bit confused, whether there is any difference between the terms "HTTP client" and "REST Client"?

For example, I have found some libraries for Android that look like they were designed for consuming REST services, yet they call themselves an "HTTP client" (Retrofit) or "HTTP library" (Volley).

There is also for example a library that call itself "HTTP/REST client library" (jus for Android).

  • So, is "HTTP client" and "REST Client" the same thing?

  • Or is "REST Client" is an HTTP client with some additional functionalities?

  • What about JSON/XML parser? Are they considered a part of REST clients but not HTTP client?

I will really appreciate if someone could clarify this matter.


Solution

  • enter image description here

    To answer my own question:

    • HTTP client is a client that is able to send a request to and get a response from the server in HTTP format

    • REST client is a client that is designed to use a service from a server and this service is RESTful.

    • in most cases that I saw on the web, what is called REST client is actually a HTTP client, since it uses HTTP only and can communicate with a HTTP server which provides services that are not RESTful