For anyone who's visiting in 2015 and beyond, there's now a proper solution gaining support.
The HTTP Referrer Policy spec lets you control referrer-sending for links and subresources (images, scripts, stylesheets, etc.) and, at the moment, it's supported on Firefox, Chrome, Opera, and Desktop Safari 11.1.
Edge, IE11, iOS Safari, and desktop versions of Safari prior to 11.1 support an older version of the spec with never
, always
, origin
, and default
as the options.
According to the spec, these can be supported by specifying multiple policy values. Unrecognized ones will be ignored and the last recognized one will win.
<meta name="referrer" content="never">
<meta name="referrer" content="no-referrer">
Also, if you want to apply it to audio
, img
, link
, script
, or video
tags which require a crossorigin
attribute, prefer crossorigin="anonymous"
where possible, so that only the absolute minimum (the Origin
header) will be shared.
(You can't get rid of the Origin
header while using CORS because the remote sites need to know what domain is making the request in order to allow or deny it.)
Failed to set referrer policy: The value 'none' is not one of 'always', 'default', 'never', 'no-referrer', 'no-referrer-when-downgrade', 'origin', 'origin-when-crossorigin', or 'unsafe-url'. This document's referrer policy has been left unchanged.
The 'none' vaue mentioned seems to be incorrect. – Fecal