Browse Source

Clarify caching behavior

Gu1 11 years ago
parent
commit
d9363bd4e2
1 changed files with 15 additions and 1 deletions
  1. 15 1
      ispformat/specs/0.1/isp-schema-spec.rst

+ 15 - 1
ispformat/specs/0.1/isp-schema-spec.rst

@@ -53,7 +53,21 @@ The ressource SHOULD be served with a MIME type of "application/json".
 
 The ressource SHOULD be reachable over HTTPS ([RFC2818]_).
 
-The ressource MUST be served over HTTP version 1.1. Moreover, if the ressource is dynamically generated by a script, the implementer MUST ensure HTTP 1.1 caching features are properly implemented.
+The ressource MUST be served over HTTP version 1.1.
+
+
+3.1 Caching considerations
+--------------------------
+
+The HTTP ressource SHOULD provide an expiration time, either through the Cache-Control header's max-age directive or the Expires header.
+
+Please note that clients may choose to ignore the provided expiration time in cases where the value is deemed to low (e.g. a few seconds) or too high (e.g. a month).
+
+Moreover, not all Cache-Control directives are guaranteed to be respected by clients, such as private, must-revalidate, no-cache, no-store.
+
+A client may choose to cache the response for a low amount of time even in cases where a ressource explicitely disabled caching by providing a max-age of 0 or an Expires date set in the past.
+
+Additionally, a ressource SHOULD implement conditional requests by providing an ETag or Last-Modified header and responding to the If-Modified-Since or If-None-Match request headers properly.
 
 
 3. References