Episode 98: Stefan Tilkov on REST

Topics covered
Popular Clips
Episode Highlights
HTTP Methods
Efficient HTTP methods are crucial for building scalable RESTful applications. explains that HTTP's core methods—GET, PUT, POST, and DELETE—each have specific semantics defined in the HTTP specification, which ensures a uniform interface for all resources 1. This uniformity allows developers to rely on predictable behaviors, such as the safety of GET requests, which should not have side effects or incur costs. Tilkov notes, "An HTTP GET will never oblige me to anything. I will not have to pay for it, I will not get an invoice two weeks later telling me that I have there. GET should be safe."
An HTTP GET will never oblige me to anything. I will not have to pay for it, I will not get an invoice two weeks later telling me that I have there. GET should be safe.
---
This predictability is a powerful concept, enabling developers to build robust systems that can handle a variety of operations efficiently.
Caching
Caching is a fundamental feature of HTTP that significantly enhances the scalability of RESTful systems. highlights that HTTP's sophisticated caching mechanisms, such as conditional GETs and the use of ETags, prevent unnecessary data retrieval, thus optimizing performance 2. He emphasizes that caching is what makes the web scalable, allowing for efficient resource management. Tilkov states, "Caching is very sophisticated in HTTP and it's actually what makes the web so scalable."
Caching is very sophisticated in HTTP and it's actually what makes the web so scalable.
---
Additionally, HTTP provides a rich set of response codes that inform clients about resource states, further aiding in efficient application design 3.
Related Episodes


Episode 210: Stefan Tilkov on Architecture and Micro Services
Answers 383 questions

Episode 85: Web Services with Olaf Zimmermann
Answers 383 questions

Episode 20: Interview Michael Stal
Answers 383 questions

Episode 39: Interview Steve Vinoski
Answers 383 questions

Episode 112: Roles in Software Engineering II
Answers 383 questions

Episode-226-Eric-Evans-on-Domain-Driven-Design-at-10-Years
Answers 383 questions

Episode 495: Vaughn Vernon on Strategic Monoliths and Microservices
Answers 383 questions

SE-Radio-Episode-232:-Mark-Nottingham-on-HTTP/2
Answers 383 questions

Episode 116: The Semantic Web with Jim Hendler
Answers 383 questions
Episode 122: Interview Janos Sztipanovits
Answers 383 questions

Episode 200: Markus Völter on Language Design and Domain Specific Languages
Answers 383 questions

Episode 33: Service Oriented Architecture, Pt.2b
Answers 383 questions

Episode 10: Remoting Pt. 2
Answers 383 questions

Episode 198: Wil van der Aalst on Workflow Management Systems
Answers 383 questions

Episode 143: API Design with Jim des Rivieres
Answers 383 questions













