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
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. fencedframeExperimental-
Đí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>, CSSbackground-image, CSScursor, CSSlist-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ọiWorkerGlobalScope.importScripts(). serviceworker-
Đích là một service worker. Có thể xuất phát từ lời gọi
navigator.serviceWorker.register(). -
Đí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):
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
Sec-Fetch-Mode,Sec-Fetch-Site,Sec-Fetch-Userfetch metadata request headers- Protect your resources from web attacks with Fetch Metadata (web.dev)
- Fetch Metadata Request Headers playground (secmetadata.appspot.com)