// // Tests if a response with an Expires-header in the past // and Cache-Control: max-age in the future works as // specified in RFC 2616 section 14.9.3 by letting max-age // take precedence
var httpserver = new HttpServer(); var index = 0; var tests = [ // original problem described in bug#203271
{
url: "/precedence",
server: "0",
expected: "0",
responseheader: [ "Expires: " + getDateString(-1), "Cache-Control: max-age=3600",
],
},
// The test below is the example from // // https://bugzilla.mozilla.org/show_bug.cgi?id=203271#c27 // // max-age=2592000s (1 month), expires=1 year from now, date=1 year ago
{
url: "/precedence?4",
server: "0",
expected: "0",
responseheader: [ "Cache-Control: private, max-age=2592000", "Expires: " + getDateString(+1),
],
explicitDate: getDateString(-1),
},
// The two tests below are also examples of clocks really out of synch // max-age=1s, date=1 year from now
{
url: "/precedence?5",
server: "0",
expected: "0",
responseheader: ["Cache-Control: max-age=1"],
explicitDate: getDateString(1),
},
// max-age=60s, date=1 year from now
{
url: "/precedence?6",
server: "0",
expected: "0",
responseheader: ["Cache-Control: max-age=60"],
explicitDate: getDateString(1),
},
// this is just to get a pause of 3s to allow cache-entries to expire
{ url: "/precedence?999", server: "0", expected: "0", delay: "3000" },
// Below are the cases which actually matters
{ url: "/precedence", server: "1", expected: "0" }, // should be cached
{ url: "/precedence?0", server: "1", expected: "0" }, // should be cached
{ url: "/precedence?1", server: "1", expected: "1" }, // should have expired
{ url: "/precedence?2", server: "1", expected: "1" }, // should have expired
{ url: "/precedence?3", server: "1", expected: "1" }, // should have expired
{ url: "/precedence?4", server: "1", expected: "1" }, // should have expired
{ url: "/precedence?5", server: "1", expected: "1" }, // should have expired
{ url: "/precedence?6", server: "1", expected: "0" }, // should be cached
];
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.