{"action":"created","issue":{"url":"https://api.github.com/repos/httpwg/http-extensions/issues/156","repository_url":"https://api.github.com/repos/httpwg/http-extensions","labels_url":"https://api.github.com/repos/httpwg/http-extensions/issues/156/labels{/name}","comments_url":"https://api.github.com/repos/httpwg/http-extensions/issues/156/comments","events_url":"https://api.github.com/repos/httpwg/http-extensions/issues/156/events","html_url":"https://github.com/httpwg/http-extensions/issues/156","id":140101458,"number":156,"title":"Define more precisely which CH headers are sent by default","user":{"login":"sicking","id":1831914,"avatar_url":"https://avatars.githubusercontent.com/u/1831914?v=3","gravatar_id":"","url":"https://api.github.com/users/sicking","html_url":"https://github.com/sicking","followers_url":"https://api.github.com/users/sicking/followers","following_url":"https://api.github.com/users/sicking/following{/other_user}","gists_url":"https://api.github.com/users/sicking/gists{/gist_id}","starred_url":"https://api.github.com/users/sicking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sicking/subscriptions","organizations_url":"https://api.github.com/users/sicking/orgs","repos_url":"https://api.github.com/users/sicking/repos","events_url":"https://api.github.com/users/sicking/events{/privacy}","received_events_url":"https://api.github.com/users/sicking/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/httpwg/http-extensions/labels/client-hints","name":"client-hints","color":"fbca04"},{"url":"https://api.github.com/repos/httpwg/http-extensions/labels/design","name":"design","color":"02d7e1"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2016-03-11T06:31:23Z","updated_at":"2016-03-30T23:10:49Z","closed_at":null,"body":"The spec currently says that clients should send CH headers \"based on their default settings, user configuration and/or preferences\". This needs to be more precisely defined in order to not cause interoperability problems between browsers.\r\n\r\nI know that there's a tension between not sending too much header data which is commonly not used by servers, thus wasting bandwidth, while also sending enough information that servers can optimize their responses. However leaving the decision out of the spec and up to clients, doesn't make the problem simpler, it just pushes it onto someone else.\r\n\r\nWhat I propose is the following:\r\nFor \"document\" loads, i.e. when browsers make the request during navigation, send the information which is typically needed for websites to determine what markup to serve. So things that let the server choose which version of a responsive-design page to serve first. I'd think this includes things like \"viewport-width\", \"downlink\" and \"save-data\". (We might also want to send other information like, is the device touch-enabled, but that's a separate discussion I think).\r\n\r\nFor non-\"document\" loads, serve no CH headers by default and instead let the \"document\" response opt in to which headers should be served for the non-\"document\" requests within that document. See also issue #155.\r\n"},"comment":{"url":"https://api.github.com/repos/httpwg/http-extensions/issues/comments/203677084","html_url":"https://github.com/httpwg/http-extensions/issues/156#issuecomment-203677084","issue_url":"https://api.github.com/repos/httpwg/http-extensions/issues/156","id":203677084,"user":{"login":"igrigorik","id":10652,"avatar_url":"https://avatars.githubusercontent.com/u/10652?v=3","gravatar_id":"","url":"https://api.github.com/users/igrigorik","html_url":"https://github.com/igrigorik","followers_url":"https://api.github.com/users/igrigorik/followers","following_url":"https://api.github.com/users/igrigorik/following{/other_user}","gists_url":"https://api.github.com/users/igrigorik/gists{/gist_id}","starred_url":"https://api.github.com/users/igrigorik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igrigorik/subscriptions","organizations_url":"https://api.github.com/users/igrigorik/orgs","repos_url":"https://api.github.com/users/igrigorik/repos","events_url":"https://api.github.com/users/igrigorik/events{/privacy}","received_events_url":"https://api.github.com/users/igrigorik/received_events","type":"User","site_admin":false},"created_at":"2016-03-30T23:10:49Z","updated_at":"2016-03-30T23:10:49Z","body":"If anyone wants to follow along: https://github.com/whatwg/fetch/pull/258 -- initial run at integrating CH and Fetch."}}