Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/web/http/headers/dpr/index.md
6532 views
---
title: DPR slug: Web/HTTP/Headers/DPR status: - deprecated - non-standard browser-compat: http.headers.DPR
---

{{HTTPSidebar}}{{Deprecated_Header}}{{SecureContext_Header}}{{Non-standard_Header}}

The DPR device client hint request header provides the client device pixel ratio. This ratio is the number of physical device pixels corresponding to every {{Glossary("CSS pixel")}}.

Header type {{Glossary("Request header")}}, Client hint
{{Glossary("Forbidden header name")}} no

The hint is useful when selecting image sources that best correspond to a screen's pixel density. This is similar to the role played by x descriptors in the <img> srcset attribute to allow user agents to select a preferred image.

If a server uses the DPR hint to choose which resource is sent in a response, the response must include the {{HTTPHeader("Content-DPR")}} header. The client must use the value in Content-DPR for layout if it differs from the value in the request's DPR header.

If the DPR header appears more than once in a message the last occurrence is used.

Note:

  • Client Hints are accessible only on secure origins (via TLS).

  • A server has to opt in to receive the DPR header from the client, by sending the {{HTTPHeader("Accept-CH")}} response header.

  • Servers that opt in to the DPR client hint will typically also specify it in the {{HTTPHeader("Vary")}} header. This informs caches that the server may send different responses based on the header value in a request.

  • DPR was removed from the client hints specification in draft-ietf-httpbis-client-hints-07. The proposed replacement is Sec-CH-DPR (Responsive Image Client Hints).

Syntax

DPR: <number>

Directives

  • <number>

    • : The client device pixel ratio.

Examples

A server must first opt in to receive the DPR header by sending the response header {{HTTPHeader("Accept-CH")}} containing the directive DPR.

Accept-CH: DPR

Then on subsequent requests the client might send DPR header to the server:

DPR: 2.0

If a request with the DPR header (as shown above) is for an image resource, then the server response must include the {{HTTPHeader("Content-DPR")}} header:

Content-DPR: 2.0

Browser compatibility

{{Compat}}

See also