Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

can't pass 0 for clientMaxAge #22

Open
spollack opened this Issue · 8 comments

3 participants

@spollack

If i try to pass the value 0 for clientMaxAge, it instead gets the default value. Looks like a logic issue where the clientMaxAge variable is set up.

@tomgco
Owner

Hi,

This happens because 0 gets interpreted as false by: clientMaxAge = options.clientMaxAge || 604800000, which then returns the default value as you said.

I am not sure why you would want to set this to 0... Let me know your reasonings and I could possibly implement a fix...

@spollack

Sure. Its not uncommon to set the max-age to 0 for cached content. This means that the cache must validate with the server before serving the cached response, as it is already stale. Useful for cases where you want content changes to propagate quickly, but still want to leverage caching so that the network traffic is reduced from doing a full GET to just doing an If-Modified-Since or similar validity check for the common case.

@tomgco
Owner

Makes sense, I am currently working on a major refactor, so this will be fixed in it.

@spollack

great, thanks Tom.

Btw, here are a few resources i've found useful on this topic of HTTP caching:
http://www.mnot.net/cache_docs/ -- good description of how things work
http://redbot.org/ -- great way to test if you are sending the right HTTP headers or not, and understand what they mean

@spollack

A wishlist item here would be also supporting ETag validation as well, to see if content has changed.

@tomgco
Owner

Sounds good, I will look into it.

@spollack

Great, thanks!

@awwx awwx referenced this issue from a commit in awwx/gzippo
@awwx awwx Allow clientMaxAge to be set to 0
Fixes #22
1e4b955
@mitar

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.