You can set CloudFlare’s CDN to cache static content according to these levels:
No Query String / Basic: Only delivers resources from cache when there is no query string.
Ignore Query String / Simple: Delivers the same resource to everyone independent of the query string (note: this will also remove the query string from the request to your origin).
Standard / Aggressive: Delivers a different resource each time the query string changes.
Note: CloudFlare, by default, does not cache HTML content. You need to write a Page Rule to cache static HTML content.
Examples:
No Query String / Basic: example.com/pic.jpg
Ignore Query String / Simple: example.com/pic.jpg?ignore=this-query-string
Standard / Aggressive: example.com/pic.jpg?with=query