Web developmentLesson 1 of 1 in the course HTTP and web servers

REST Foundations: Resources, Constraints, and the Uniform Interface

5 flashcards · 5 quiz questions · 5 match pairs · 5 fill-in sentences · English

Lesson progress
0 / 5

Your progress is kept in this browser only.Sign up to save it

Summary

REST is an architectural style created to describe and guide the design of the World Wide Web. This lesson introduces what REST means, how resources and representations work together, and why the style was developed.

REST, short for Representational State Transfer, is an architectural style for distributed, network-based systems. Roy Fielding introduced and defined the term in his 2000 doctoral dissertation.

All flashcards

What is REST?
REST, or Representational State Transfer, is an architectural style for distributed network-based systems. It describes constraints and design principles rather than specifying a single implementation.
What is the difference between a resource and a representation?
A resource is a conceptual item or piece of information. A representation is a form in which the server delivers information about that resource, such as HTML, XML, or JSON.
What role do hypermedia links play?
Links in a representation let a client discover and navigate to other available resources or actions, rather than requiring every destination to be hard-coded in advance.
When and by whom was REST defined?
Computer scientist Roy Fielding introduced and defined REST in his 2000 doctoral dissertation, *Architectural Styles and the Design of Network-based Software Architectures*.
Name three architectural properties REST aims to support.
REST aims to support properties including scalability, performance, simplicity, modifiability, visibility, portability, and reliability. Any three of these are examples.

Quiz questions

  1. In REST, what does the stateless constraint mean for client requests?Answer: Each request provides the information needed for the server to process it.
  2. What does the cache constraint require responses to communicate?Answer: Whether a response can be cached and reused.
  3. What is a key property of a layered REST system?Answer: A client need not know whether it communicates with the origin server or an intermediary.
  4. What does the optional code-on-demand constraint allow a server to do?Answer: Transfer executable logic that a client can run to extend its functionality.
  5. What does the client-server constraint separate?Answer: Client responsibilities from server responsibilities through an interface.

Based on the Wikipedia article REST, licensed CC BY-SA 4.0. Adapted into a summary, flashcards and quizzes.

All Web development lessons