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