title | slug | l10n | ||
---|---|---|---|---|
DPR |
Web/HTTP/Headers/DPR |
|
{{HTTPSidebar}}{{Deprecated_Header}}{{SecureContext_Header}}{{Non-standard_Header}}
DPR
设备客户端提示请求标头提供客户端设备的像素比。该比例是与每个 {{Glossary("CSS pixel", "CSS 像素")}}相对应的物理设备像素的数量。
标头类型 | {{Glossary("Request header", "请求标头")}}、客户端提示 |
---|---|
{{Glossary("Forbidden header name", "禁止修改的标头")}} | 否 |
在选择与屏幕像素密度最匹配的图像源时,此提示非常有用。这类似于 <img>
srcset
属性中 x
描述符的作用,其允许用户代理选择首选图像。
如果服务器使用 DPR
提示来选择在响应中发送哪个资源,则响应必须包含 {{HTTPHeader("Content-DPR")}} 标头。如果 Content-DPR
的值与请求的 DPR
标头中的值不同,客户端必须使用 Content-DPR
的值进行布局。
如果 DPR
标头出现在消息中多次,则使用最后一次出现的值。
Note
- 客户端提示仅在安全来源(通过 TLS)上可用。
- 服务器必须通过发送包含
DPR
的 {{HTTPHeader("Accept-CH")}} 响应标头,才能接收来自客户端的DPR
标头。 - 选择加入
DPR
客户端提示的服务器通常也会在 {{HTTPHeader("Vary")}} 标头中指定它。这会通知缓存服务器,服务器可能会根据请求中的标头值发送不同的响应。 - 在 draft-ietf-httpbis-client-hints-07 中,客户端提示规范已经移除了
DPR
。建议的替代方案是Sec-CH-DPR
(响应式图像客户端提示)。
DPR: <number>
<number>
- : 客户端设备的像素比。
服务器必须首先通过发送包含 DPR
指令的 {{HTTPHeader("Accept-CH")}} 响应标头来选择接收 DPR
标头。
Accept-CH: DPR
然后,在后续请求中,客户端可能会将 DPR
标头发送到服务器:
DPR: 2.0
如果带有 DPR
标头(如上所示)的请求是针对图像资源的,则服务器响应必须包含 {{HTTPHeader("Content-DPR")}} 标头:
Content-DPR: 2.0
{{Compat}}
-
利用用户代理客户端提示改善用户隐私并提升开发者体验(developer.chrome.com)
-
设备客户端提示
- {{HTTPHeader("Content-DPR")}}
- {{HTTPHeader("Device-Memory")}}
- {{HTTPHeader("Viewport-Width")}}
- {{HTTPHeader("Width")}}
-
{{HTTPHeader("Accept-CH")}}
-
HTTP 缓存 > Vary 响应和 {{HTTPHeader("Vary")}}