MooTools Depender, Safari, etags and 412 Precondition Failed

/**
* This replaces the default MooTools more Depender.request function to use
* HTTP "get" rather than "post".
*
* When sending requests for files via the depender, I was finding that Safari
* wasn't getting and re-evaluating them the second time I visited the page.
* This was because an etag was sent with each script.
*
* Safari responds to etags properly and adds "If-None-Match" and
* "If-Modified-Since" headers to another request for the same file. This makes
* Apache respond with a 412 status (Precondition Failed) as it should do for
* "post" requests (according to RFC 2616).
*
* Unfortunately Safari doesn't then deal with the 412 as it does with a 304
* (Not Modified). It doesn't grab what it has in the cache and put it in the
* response, it gives you nothing.
*
* For "get" requests, Apache has to respond with a 304, or 200 or whatever, but
* not 412. So we change the request method so we don't have to deal with 412.
*/
Depender.request = function(url, callback){
    new Request.JSON({
        url: url,
        secure: false,
        onSuccess: callback,
        method:'get'
    }).send();
};

24,935 thoughts on “MooTools Depender, Safari, etags and 412 Precondition Failed

  1. Hello there! This is my first visit to your blog! We are a collection of volunteers and
    starting a new initiative in a community in the same niche.
    Your blog provided us valuable information to work on. You have done a marvellous job!

  2. Have you ever thought about including a little bit
    more than just your articles? I mean, what you say is important and all.
    However just imagine if you added some great pictures or videos to give your posts more, “pop”!
    Your content is excellent but with pics and video clips, this blog
    could certainly be one of the most beneficial in its niche.
    Terrific blog!

  3. Your style is so unique in comparison to other people I’ve read stuff from.
    Thank you for posting when you’ve got the opportunity,
    Guess I will just book mark this site.

  4. The Injury Recovery Center has been a lifesaver for my back pain!
    I can’t believe the difference a chiropractor makes at the Injury Recovery Center!
    Looking for a chiropractor near me led me to the amazing team at Injury Recovery Center Chiropractor Near Me