pushState() and replaceState() methods for adding and changing history entries in combination with the onpopstate event
pushState() allows you to change the referrer that is used in the HTTP header for XMLHttpRequest objects created after the state change. The value of referrer will be the URL of the document whose window is this at the time the XMLHttpRequest object is created.