This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The useFinalURL property of the Response interface contains a boolean stating whether this is the final URL of the response.

This property applies only to ServiceWorkers. In other contexts it will return undefined.


var isfinalURL = Response.useFinalURL;


A Boolean indicating whether or not the URL is final rather than a redirect.


Consider a script residing in page index.html:

fetch('/test').then((r) => console.log(r.url))

test.html is being controlled by the service worker sw.js:

onfetch = (e) => {
  e.respondWith(fetch('/page2').then((r) => {
    r.usefinalURL = true;
    return r;

The output will be /page2 and not /test in index.html, since setting the usefinalURL means that the response's URL is not set to request's URL.

Browser compatibility

BCD tables only load in the browser

See also