# What is the adoption of Client Hints on the web?

**URL:** <https://discuss.httparchive.org/t/what-is-the-adoption-of-client-hints-on-the-web/1420>\
**Category:** Analysis\
**Created:** [July 30, 2018, 10:16pm UTC](https://discuss.httparchive.org/t/what-is-the-adoption-of-client-hints-on-the-web/1420 "2018-07-30T22:16:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![igrigorik](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/igrigorik/32/925_2.png) [@igrigorik](https://discuss.httparchive.org/u/igrigorik)\
**Post date:** [July 30, 2018, 10:16pm UTC](https://discuss.httparchive.org/t/what-is-the-adoption-of-client-hints-on-the-web/1420/1 "2018-07-30T22:16:29Z")

</div>

Another bounty question… 🙂

**Which sites / services make use of [Client Hints](https://tools.ietf.org/html/draft-ietf-httpbis-client-hints)?**

- List of supported hints in Chrome: [https://client-hints-demo.appspot.com/](https://client-hints-demo.appspot.com/)
- Good overview of [benefits of CH from Cloudinary](https://cloudinary.com/blog/client_hints_and_responsive_images_what_changed_in_chrome_67)

There’s a few ways to detect use of CH: we can look for the opt-in via Accept-CH header or equivalent meta element; we can look at Chrome’s feature counters that log use of CH.

---

<div class="post-metadata">

**Author:** ![rviscomi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/rviscomi/32/835_2.png) [@rviscomi](https://discuss.httparchive.org/u/rviscomi)\
**Post date:** [August 3, 2018, 6:32pm UTC](https://discuss.httparchive.org/t/what-is-the-adoption-of-client-hints-on-the-web/1420/2 "2018-08-03T18:32:02Z")

</div>

There are only 16 domains serving `Accept-CH` headers.

```sql
SELECT
  DISTINCT NET.REG_DOMAIN(url)
FROM
  `httparchive.requests.2018_07_15_desktop`
WHERE
  JSON_EXTRACT(payload, '$._headers.response') LIKE '%Accept-CH: %'

```

| domain | |
| --- | --- |
| [basecamp.com](http://basecamp.com) | |
| [pinoytrendingnews.net](http://pinoytrendingnews.net) | |
| retours.eu | |
| [adbetnet.com](http://adbetnet.com) | |
| peabbostad.se | |
| [eurostarshotels.com](http://eurostarshotels.com) | |
| m2ch.hk | |
| [sovets24.ru](http://sovets24.ru) | |
| [svadbavo.ru](http://svadbavo.ru) | |
| [vrachmedik.ru](http://vrachmedik.ru) | |
| pekao.com.pl | |
| [sovets.net](http://sovets.net) | |
| games.ch | |
| vogue.com.tw | |
| [booking-channel.com](http://booking-channel.com) | |
| [creative.com](http://creative.com) | |

And there are 4817 origins that have a feature counter with the CH prefix:

```sql
SELECT
  url
FROM
  `httparchive.pages.2018_07_15_desktop`
WHERE
  JSON_EXTRACT(payload,
    '$._blinkFeatureFirstUsed.Features') LIKE '%ClientHints%'

```

Many of these urls are from `softonic.com` (turns out we have 4532 origins from this domain, not including other TLDs), so that’s overwhelming the results.

There are 441 unique domains:

```sql
SELECT
  Alexa_rank AS rank,
  NET.REG_DOMAIN(url) AS domain
FROM
  `httparchive.pages.2018_07_15_desktop`
LEFT JOIN
  `httparchive.urls.20170315`
ON
  NET.REG_DOMAIN(url) = Alexa_domain
WHERE
  JSON_EXTRACT(payload,
    '$._blinkFeatureFirstUsed.Features') LIKE '%ClientHints%'
GROUP BY
  rank,
  domain
ORDER BY
  rank

```

Here’s a sheet with all of them in Alexa rank order:

> **[ClientHints feature counter](https://docs.google.com/spreadsheets/d/1XvwwMqQ4xI2cfALprzzrU3ES46_GcNjjW52T-jdBAas/edit?usp=sharing)**
>
> Sheet1
> 
> rank, domain
> 6, yahoo. com
> 53, blogspot. com
> 162, softonic. com
> 222, weebly. com
> 328, 163. com
> 566, lemonde. fr
> 648, nikkei. com
> 851, bleacherreport. com
> 1165, elsevier. com
> 1269, moz. com
> 1330, icims. com
> 1733, ft. com
> 1920,...
