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();
};

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

  1. Pingback: iOS 7 and 412 precondition failed | Looseideas

  2. Intriguing point of view. I’m curious to believe what type of impact this would have globally? Sometimes folks get a little upset with global expansion. I’ll be about soon to check out your response.

  3. After research a couple of of the blog posts on your website now, and I truly like your method of blogging. I bookmarked it to my bookmark website list and can be checking back soon. Pls take a look at my web page as nicely and let me know what you think.

  4. I have to get across my passion for your generosity giving support to persons who have the need for help with this one concern. Your personal dedication to passing the message all over has been remarkably helpful and have continuously helped girls just like me to achieve their targets. Your insightful guideline indicates so much to me and additionally to my mates. Regards; from all of us.

  5. I do love the way you have presented this specific matter and it does offer us a lot of fodder for consideration. On the other hand, through just what I have personally seen, I just simply hope as the actual feed-back pile on that individuals keep on issue and not embark on a tirade of the news du jour. Anyway, thank you for this outstanding piece and although I do not go along with it in totality, I respect your perspective.

  6. F*ckin’ remarkable things here. I’m very glad to see your article. Thanks a lot and i’m looking forward to contact you. Will you please drop me a e-mail?

  7. Hi I am so glad I found your webpage, I really found you by mistake, while I was researching on Bing for something else, Anyhow I am here now and would just like to say cheers for a tremendous post and a all round exciting blog (I also love the theme/design), I don’t have time to go through it all at the minute but I have book-marked it and also included your RSS feeds, so when I have time I will be back to read much more, Please do keep up the awesome job.

  8. Greetings! I know this is somewhat off topic but I was wondering which blog platform are you using for this site? I’m getting fed up of WordPress because I’ve had issues with hackers and I’m looking at alternatives for another platform. I would be great if you could point me in the direction of a good platform.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>