Prev | Current Page 278 | Next

Brad Ediger

"Advanced Rails"

Providing explicit cache
control information allows the client to cache more aggressively, reducing network
traffic and increasing performance.
Uniform Interface
A uniform interface is the primary item that distinguishes REST from RPC and
other network styles. Forcing the client and server to communicate using a wellknown
uniform interface pushes the application-specific complexity out of the
network layer into the application layer, where it belongs. It allows standardized
software components to be reused for vastly different applications, as they speak
the same language.
Layered System
Architectures are permitted to be broken down into independent layers (in
the sense of the OSI or TCP/IP layered models). Each layer mediates only
between the layers immediately adjacent to itself. In this way, layers can
evolve or be replaced independently with minimal impact to the remainder of
the architecture.
Code-on-Demand
Client software is extensible by retrieving and executing code from a server. This
allows clients to expand their capabilities in an ad-hoc manner after an architecture
is deployed.
REST is often referred to as an architectural style, instead of an architecture. Rather
than defining a specific ???best??? architecture, REST defines principles by which architectures
are created and evaluated??”it puts constraints on network architecture.
We often use a linguistic analogy to explain REST; in many ways, the REST principles
are modeled on human communication.


Pages:
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290