People generally confuse between HTTP APIs and REST APIs and use terms interchangeably. HTTP and REST APIs are completely different.
HTTP (Hypertext transfer protocol) is the protocol. This is the application protocol used to transfer the data over the Web. HTTP use the client server architecture. Client sends a http request to the server. The server processes the request and sends back the http response. All the world wide request uses http protocol. When you load the website in browser you are making http request to the server.
REST stands for representational state transfer. REST is not a standard or a specification. REST is an architectural style. REST is not a communications protocol like HTTP. HTTP is a contract, a communication protocol and REST is a concept.
REST leverage HTTP protocol to transfer the data over the internet. REST implies a series of constraints about how Server and Client should interact.
REST APIs are designed to use HTTP protocol for its own purpose. It is not necessary that REST will be always be using HTTP protocol it can even use FTP or SMTP protocol and your API can still be RESTful. HTTP is most commonly used in REST API just because REST was inspired by WWW (world wide web) which largely used HTTP even before REST was defined, so it’s easier to implement REST API style with HTTP.
HTTP 1.1 protocol was built to be the ideal protocol to follow the principles and constraints of REST.
Not all HTTP APIs are REST APIs because if an HTTP API does not follow REST Architectural styles, it is not REST API. To be termed as REST API, the API must meet the following 6 architectural constraints which make any web service – a truly RESTful API.
- Uniform interface
- Layered system
- Code on demand (optional)
REST APIs are for generic purpose and most widely used by small and large scale companies. Many of the most popular web and cloud companies use REST APIs for their applications, including Facebook, YouTube, Twitter, and Google.
Amazon introduced HTTP APIs, HTTP APIs are designed for low-latency, cost-effective integrations with AWS services like AWS Lambda, and HTTP endpoints. Previous-generation REST APIs by them currently offer more features but with their HTTP APIs you can save cost up to 71%.