REST (Representational State Transfer) describes an architectural style for distributed systems built on a small set of uniform operations, addressable resources, and stateless communication. HTTP is the protocol that actually implements these principles on the web, provided its methods, status codes, and caching mechanisms are used as intended.
In practice, the difference shows up most clearly when integrating distributed systems: clean resource boundaries and consistent use of HTTP semantics determine how well an architecture can be extended and maintained over the years.
Those who want to explore these questions in more depth will find that in our training Web-Native Software Architecture.
This page brings together articles, podcasts, talks, and case studies on REST, HTTP, and modern web architecture.