Accept

Baseline Widely available

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

HTTP Accept 請求標頭回應標頭表示發送者能夠理解的內容類型,以 MIME 類型表示。在請求中,伺服器使用內容協商選擇其中一個提案,並使用 Content-Type 回應標頭通知用戶選擇的內容類型。在回應中,它提供伺服器能夠理解的內容類型訊息,以便在後續對資源的請求中使用該內容類型。

瀏覽器根據請求的上下文設置此標頭的必要值。例如,瀏覽器在請求 CSS 樣式表、圖片、視訊或腳本時使用不同的值。

標頭類型 請求標頭回應標頭
禁止修改的標頭
CORS 安全清單回應標頭

* 值不能包含 CORS 不安全請求標頭字元,包括 "():<>?@[\]{},,刪除 0x7F,以及控制字元 0x000x19(除了 Tab 0x09)。

語法

http
Accept: <media-type>/<MIME_subtype>
Accept: <media-type>/*
Accept: */*

// 多種類型,以品質值語法加權
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8

指令

<media-type>/<subtype>

單一、精確的媒體類型,如 text/html

<media-type>/*

沒有子類型的媒體類型。例如,image/* 對應於 image/pngimage/svgimage/gif 和其他圖片類型。

*/*

任何媒體類型。

;q=(q 因子加權)

使用相對品質值表示的偏好值,稱為權重

範例

使用預設的 Accept 請求標頭

使用命令行工具如 curlwget 發出的 HTTP 請求使用 */* 作為預設的 Accept 值:

http
GET / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*

瀏覽器導航通常具有以下 Accept 請求標頭值:

http
GET /en-US/ HTTP/2
Host: developer.mozilla.org
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
…

在接收到文件後,對 developer.mozilla.org 範例中的圖片請求的預設 Accept 值如下所示:

http
Accept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5

配置 Accept 請求標頭以獲取 JSON 回應

涉及 API 互動的系統通常請求 application/json 回應。以下是一個 GET 請求的範例,其中用戶特別請求 JSON 回應:

http
GET /users/123 HTTP/1.1
Host: example.com
Authorization: Bearer abcd123
Accept: application/json

規範

Specification
HTTP Semantics
# field.accept

瀏覽器相容性

BCD tables only load in the browser

參見