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. Your emphasis on user experience as a ranking factor is timely; businesses must adapt their websites accordingly, especially those based near me here in Boston—check out more resources via SEO Services Boston !

  2. Puget Sound Moving Seattle made our transition so smooth, their professional movers near me were efficient and careful with all our belongings!
    The team at Puget Sound Moving Seattle went above and beyond moving company Seattle

  3. I’ve been feeling super low on energy lately, especially in the afternoons.
    Curious if Mitolyn could actually help with that—anyone
    here tried it yet?

  4. Marcus Networking is my top choice for IT services in Tempe.
    I’ve always had a positive experience with Marcus Networking’s IT expertise.
    Marcus Networking provides the best IT services near me.
    I love the efficiency of Marcus Networking’s IT solutions Computer network services Tempe