REST is an architectural style for building distributed systems based on HTTP. Some key aspects of REST include using HTTP methods like GET, POST, PUT and DELETE to operate on resources identified by URIs. Resources in REST are abstract concepts that can be nouns or verbs. REST services use standardized interfaces and are stateless. Caching and network efficiency are important principles of REST. The Java API for RESTful Web Services (JAX-RS) provides annotations to easily build RESTful web services and APIs in Java.