- jquery's getScript explicitly cache busts by appending a timestamp query parameter. It is the default behaviour but can be turned off (more information here: http://api.jquery.com/jQuery.getScript/). If this is turned on, this will burst the Cloudflare cache.
- Any default cache control headers matter. If your web server or CMS platform like WordPress has responded with Cache-Control: private or max-age=0, or set Expires to the past, it would cause the Cloudflare CDN to not cache the asset. To override these default headers, set a "Edge cache expire TTL" under the Page Rules settings.
Yes, if you have a Cache Everything page rule set up, then yes, Cloudflare will cache an XML response. A couple of things to keep in mind: