Git Product home page Git Product logo

connect-cache's Issues

connect-cache.js uses wrong ttl and error in memory.js

the file connect-cache.js uses the default ttl instead of the ttl specified with each rule.

fix on line 100: use ttl instead of options.ttl

there's also a bug in memory.js on line 19:
replace cb(null); with cb && cb(null);

besides this, i really like your library! :)

Requesting "no-cache" does not cache reloaded content

If a client sends the "cache-control" value "no-cache" connect-cach completely ignores caching.
In my opinion this is wrong and for me a not desired behavior.

Due to https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.4 a client can request "no-cache" for forcing an end-to-end reload. This is done in connect-cach. But the response is not cached. In my opinion the newly loaded content (= response) is allowed to and should be cached.

Additionally I would like to see a swicth which completely ignores the "cache-control" header in client requests - to force caching even if the client requests something different.

My scenario:
I have a local development web server with live reload of my web app. I am proxying and caching external libraries from content delivery networks for traffic and performance reasons with connect-cache. In chrome I hit CTRL+F5 to reload with invalidating the cache (on client and server side). Chrome sends "no-cache" wich is ok - content should be (re-)loaded from the origin. But my next regular reload (Key F5) should come from the (server) cache.

browser caching

it would be very useful if you could add the cache-control feature like in connect's static middleware, so when the browser have the same data like connect-cache in the cache you don't need to send the data again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.