4

I am just reading Fielding's Dissertation and have a question about Chapter 5 where he introduces REST. In 5.1.5, he writes about trade-offs that come with the decision to enforce uniform interfaces. To quote:

The central feature that distinguishes the REST architectural style from other network-based styles is its emphasis on a uniform interface between components.

...

The REST interface is designed to be efficient for large-grain hypermedia data transfer, optimizing for the common case of the Web, but resulting in an interface that is not optimal for other forms of architectural interaction.

He does not go into detail what is meant with "large-grain hypermedia data transfer ... the common case of the web".

I was under the impression that requests in the web are in comparison quite small. Today, typical web sites make about 100 requests per page and transfer about 2,300K (source: talk from Feb 2016).

I think, his argumentation has to be understand in the context of the time when he wrote the dissertation (around 2000). Could be that the bandwith was so small back than that a request for an image was considered rather larger. Not sure, I could also be just missing the point.

Questions:

  • What is meant by large-grain hypermedia data transfer?
  • In what sense is it the common case of the Web? Are not small data transfers more typical in the Web?
  • 1
    Today, typical web sites make about 100 requests per page and transfer about 2,300K -- An abomination, really. Compare with this specific page, which makes 40 requests (16 of which are cached) totalling roughly 37K. – Robert Harvey Sep 6 '16 at 19:54
1

He is just trying to be critical about his own work. He makes clear that he does not want to sell uniform interfaces as the ultimate solution to every problem. And this is of course reasonable.

Hypermedia is a generalized term for hypertext. People tend to restrict the WWW and REST to representations in form of hypertext. Fielding has written here about what he has in mind when talking about hypermedia and hypertext. See also his comments below.

The WWW as the most important architecture for REST has of course been designed to transfer huge amounts of data (just think about how important caches are within this architecture). And you need to think even further, since data can have a lot of different representations that are usually requested on the client-side. The average sizes of requests and responses do not restrict the possible sizes. And it's also clear that WWW (as it is known today) is not really compliant with REST ideas. WWW does not enforce REST as architectural style.

  • REST is based on the use of HTTP and has nothing to do with whatever you mean by WWW. – Rob Sep 6 '16 at 23:29
  • WWW is an acronym for "world wide web" and is the name of the architecture which REST is the architectural style of. Yes, the protocol used in the WWW is HTTP. But this is something different than an architectural style which also describes how to use the verbs/methods in HTTP and how the content has to look like. – Martin Sugioarto Sep 6 '16 at 23:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.