Accept 頭部

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

HTTP Accept 請求響應頭部表示傳送方能夠理解的MIME 型別所表達的內容型別。在請求中,伺服器使用內容協商來選擇其中一個提議,並透過Content-Type響應頭部告知客戶端所做的選擇。在響應中,它提供有關伺服器在傳送給請求資源的訊息中可以理解的內容型別的資訊,以便該內容型別可以在後續的資源請求中使用。

瀏覽器根據請求的上下文設定此頭部所需的數值。例如,當獲取 CSS 樣式表、影像、影片或指令碼時,瀏覽器在請求中會使用不同的值。

頭型別 請求標頭, 響應標頭
禁止請求頭
CORS 安全列表請求頭 是*

* 值不能包含CORS 不安全的請求頭部位元組,包括"():<>?@[\]{},、刪除字元0x7F以及控制字元0x000x19,除了製表符0x09

語法

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

// Multiple types, weighted with the quality value syntax
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8

指令

<媒體型別>/<子型別>

一個單一的、精確的媒體型別,例如 text/html

<媒體型別>/*

不帶子型別的媒體型別。例如,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

為 JSON 響應配置 Accept 請求頭部

涉及 API 互動的系統通常請求 application/json 響應。以下是一個 GET 請求的示例,其中客戶端明確請求 JSON 響應

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

規範

規範
HTTP 語義
# 欄位.accept

瀏覽器相容性

另見