Sec-Fetch-Dest header

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.

* Some parts of this feature may have varying levels of support.

Tiêu đề HTTP Sec-Fetch-Dest fetch metadata request header cho biết đích của yêu cầu. Đó là bộ khởi tạo của yêu cầu fetch ban đầu, tức là nơi (và cách) dữ liệu được fetch sẽ được sử dụng.

Điều này cho phép máy chủ xác định liệu có nên phục vụ yêu cầu hay không dựa trên việc nó có phù hợp với cách được kỳ vọng sử dụng hay không. Ví dụ: yêu cầu với đích audio nên yêu cầu dữ liệu âm thanh, không phải một số loại tài nguyên khác (ví dụ: tài liệu chứa thông tin nhạy cảm của người dùng).

Loại tiêu đề Fetch Metadata Request Header
Forbidden request header Có (tiền tố Sec-)
CORS-safelisted request header Không

Cú pháp

http
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

Máy chủ nên bỏ qua tiêu đề này nếu nó chứa bất kỳ giá trị nào khác.

Chỉ thị

Note: Các chỉ thị này tương ứng với các giá trị được trả về bởi Request.destination.

audio

Đích là dữ liệu âm thanh. Có thể xuất phát từ thẻ HTML <audio>.

audioworklet

Đích là dữ liệu được fetch để sử dụng bởi một audio worklet. Có thể xuất phát từ lời gọi audioWorklet.addModule().

document

Đích là tài liệu (HTML hoặc XML), và yêu cầu là kết quả của điều hướng cấp cao do người dùng khởi tạo (ví dụ: kết quả từ việc người dùng nhấp vào liên kết).

embed

Đích là nội dung được nhúng. Có thể xuất phát từ thẻ HTML <embed>.

empty

Đích là chuỗi rỗng. Được sử dụng cho các đích không có giá trị riêng. Ví dụ: fetch(), navigator.sendBeacon(), EventSource, XMLHttpRequest, WebSocket, v.v.

fencedframe Experimental

Đích là một fenced frame.

font

Đích là một font. Có thể xuất phát từ CSS @font-face.

frame

Đích là một frame. Có thể xuất phát từ thẻ HTML <frame>.

iframe

Đích là một iframe. Có thể xuất phát từ thẻ HTML <iframe>.

image

Đích là một hình ảnh. Có thể xuất phát từ HTML <img>, SVG <image>, CSS background-image, CSS cursor, CSS list-style-image, v.v.

json

Đích là JSON. Có thể xuất phát từ importing a module from JavaScript with the type: "json" attribute.

manifest

Đích là manifest. Có thể xuất phát từ HTML <link rel=manifest>.

object

Đích là một đối tượng. Có thể xuất phát từ thẻ HTML <object>.

paintworklet

Đích là một paint worklet. Có thể xuất phát từ lời gọi CSS.PaintWorklet.addModule().

report

Đích là một báo cáo (ví dụ: báo cáo chính sách bảo mật nội dung).

script

Đích là một script. Có thể xuất phát từ thẻ HTML <script> hoặc lời gọi WorkerGlobalScope.importScripts().

serviceworker

Đích là một service worker. Có thể xuất phát từ lời gọi navigator.serviceWorker.register().

sharedworker

Đích là một shared worker. Có thể xuất phát từ SharedWorker.

style

Đích là một style. Có thể xuất phát từ HTML <link rel=stylesheet> hoặc CSS @import.

track

Đích là một text track HTML. Có thể xuất phát từ thẻ HTML <track>.

video

Đích là dữ liệu video. Có thể xuất phát từ thẻ HTML <video>.

webidentity

Đích là endpoint liên quan đến việc xác minh danh tính người dùng. Ví dụ: nó được sử dụng trong FedCM API để xác minh tính xác thực của các endpoint nhà cung cấp danh tính (IdP), bảo vệ chống lại các cuộc tấn công CSRF.

worker

Đích là một Worker.

xslt

Đích là một XSLT transform.

Ví dụ

Sử dụng Sec-Fetch-Dest

Yêu cầu cross-site được tạo bởi phần tử <img> sẽ dẫn đến yêu cầu với các tiêu đề HTTP sau (lưu ý rằng đích là image):

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

Đặc tả

Specification
Fetch Metadata Request Headers
# sec-fetch-dest-header

Tương thích trình duyệt

Xem thêm