This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

This property has been removed from the spec. Do not attempt to use in your code.

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.


Specification Status Comment
The definition of 'useFinalURL' in that specification.
Living Standard Initial definition

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 41[1]
39 (39)
No support


No support
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support No support 34[1]
39 (39)
? No support ? ? ?

[1] This feature is implemented behind a preference prior to Firefox 39 and Chrome 42.

See also

Document Tags and Contributors

 Contributors to this page: Sheppy, Sebastianz, chrisdavidmills, kscarfone
 Last updated by: Sheppy,