8

I was reading the RFC 2616 regarding HTTP/1.1 when this term came up:

Therefore, the HTTP/1.1 protocol provides these important elements: [...] Protocol features that provide full semantic transparency when this is required by all parties.

[...]

The Cache-Control header allows a client or server to transmit a variety of directives in either requests or responses. These directives typically override the default caching algorithms. As a general rule, if there is any apparent conflict between header values, the most restrictive interpretation is applied (that is, the one that is most likely to preserve semantic transparency).

My questions are:

  • What is semantic transparency? What makes it full?
  • What's advantageous about having a protocol which is semantically transparent?
  • How can I tell a protocol has this property?
0x01Noodle
  • 89
  • 2
  • 4
    [RFC 2616 is dead](https://www.mnot.net/blog/2014/06/07/rfc2616_is_dead). In terms of the meaning of semantic transparency, have you read e.g. http://users.ecs.soton.ac.uk/dder/cm214old/cm214-http4.ppt? – jonrsharpe Jan 28 '17 at 23:09
  • Thanks for the links! So to sum up, full semantic transparency refers to a protocol which may involve one or more intermediaries which will not alter the request in any way? – 0x01Noodle Jan 30 '17 at 16:50

1 Answers1

3

A cache behaves in a “semantically transparent” manner, with respect to a particular response, when its use affects neither the requesting client nor the origin server, except to improve performance. When a cache is semantically transparent, the client receives exactly the same response that it would have received had its request been handled directly by the origin server.

Source: https://www.w3.org/Talks/9608HTTP/tsld014.htm

Ger
  • 131
  • 3