Firefox Tomorrow

http header

Sec-Fetch-Dest header

View on MDN ↗

The HTTP Sec-Fetch-Dest fetch metadata request header indicates the request’s destination. That is the initiator of the original fetch request, which is where (and how) the fetched data will be used.

This allows servers to determine whether to service a request based on whether it is appropriate for how it is expected to be used. For example, a request with an audio destination should request audio data, not some other type of resource (for example, a document that includes sensitive user information).

Header type [Fetch Metadata Request Header](https://developer.mozilla.org/en-US/docs/Glossary/Fetch%20Metadata%20Request%20Header)
[Forbidden request header](https://developer.mozilla.org/en-US/docs/Glossary/Forbidden%20request%20header) Yes (Sec- prefix)
[CORS-safelisted request header](https://developer.mozilla.org/en-US/docs/Glossary/CORS-safelisted%20request%20header) No

Syntax

Sec-Fetch-Dest: audio
Sec-Fetch-Dest: audioworklet
Sec-Fetch-Dest: document
Sec-Fetch-Dest: embed
Sec-Fetch-Dest: empty
Sec-Fetch-Dest: fencedframe
Sec-Fetch-Dest: font
Sec-Fetch-Dest: frame
Sec-Fetch-Dest: iframe
Sec-Fetch-Dest: image
Sec-Fetch-Dest: json
Sec-Fetch-Dest: manifest
Sec-Fetch-Dest: object
Sec-Fetch-Dest: paintworklet
Sec-Fetch-Dest: report
Sec-Fetch-Dest: script
Sec-Fetch-Dest: serviceworker
Sec-Fetch-Dest: sharedworker
Sec-Fetch-Dest: style
Sec-Fetch-Dest: track
Sec-Fetch-Dest: video
Sec-Fetch-Dest: webidentity
Sec-Fetch-Dest: worker
Sec-Fetch-Dest: xslt

Servers should ignore this header if it contains any other value.

Directives

[!NOTE] These directives correspond to the values returned by destination.

  • audio
    • : The destination is audio data. This might originate from an HTML <audio> tag.
  • audioworklet
    • : The destination is data being fetched for use by an audio worklet. This might originate from a call to audioWorklet.addModule().
  • document
    • : The destination is a document (HTML or XML), and the request is the result of a user-initiated top-level navigation (e.g., resulting from a user clicking a link).
  • embed
    • : The destination is embedded content. This might originate from an HTML <embed> tag.
  • empty
  • fencedframe Experimental
  • font
    • : The destination is a font. This might originate from CSS @font-face.
  • frame
    • : The destination is a frame. This might originate from an HTML <frame> tag.
  • iframe
    • : The destination is an iframe. This might originate from an HTML <iframe> tag.
  • image
  • json
  • manifest
  • object
    • : The destination is an object. This might originate from an HTML <object> tag.
  • paintworklet
  • report
    • : The destination is a report (for example, a content security policy report).
  • script
  • serviceworker
  • sharedworker
    • : The destination is a shared worker. This might originate from a SharedWorker.
  • style
  • track
    • : The destination is an HTML text track. This might originate from an HTML <track> tag.
  • video
    • : The destination is video data. This might originate from an HTML <video> tag.
  • webidentity
    • : The destination is an endpoint associated with verifying user identify. For example, it is used in the FedCM API to verify the authenticity of identity provider (IdP) endpoints, guarding against CSRF attacks.
  • worker
    • : The destination is a Worker.
  • xslt
    • : The destination is an XSLT transform.

Examples

Using Sec-Fetch-Dest

A cross-site request generated by an <img> element would result in a request with the following HTTP request headers (note that the destination is image):

Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

See also