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. Have you ever thought about including a little bit more than just
    your articles? I mean, what you say is important and everything.
    Nevertheless imagine if you added some great visuals or video clips to give your posts more, “pop”!
    Your content is excellent but with images and videos, this site
    could definitely be one of the very best in its field.

    Excellent blog!

  2. I always used to read article in news papers but now as I am a user
    of web so from now I am using net for posts, thanks to web.

  3. Greetings! Very helpful advice in this particular article!
    It is the little changes that will make the most important
    changes. Thanks a lot for sharing!

  4. you’re in point of fact a good webmaster. The website loading velocity is amazing.
    It seems that you are doing any unique trick. Furthermore, The contents are
    masterpiece. you’ve performed a excellent activity in this subject!