REST stands for Representational State Transfer and is a design architecture for networked applications. The key aspects of REST are that it is resource-based, with resources identified by URLs. Clients access and perform operations on resources using standard HTTP methods like GET, POST, PUT, and DELETE. Requests should be stateless and responses cacheable to allow for scalability. There are six main constraints for RESTful architecture including a uniform interface, statelessness, client-server style, cacheability, layered system, and code on demand.