관련지식
chrome, useragent, client hints

최근 크롬에서 SameSite 정책 변경에 이어 다음 차례로 UserAgent 지원을 중단할 예정입니다. 웹개발자라면 적어도 한번쯤은 접해봤을 UserAgent 데이터는 아래와 같습니다.

  1. Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36

보다시피 운영체제의 버전이나 브라우저의 버전까지 알수 있는데 구글에선 정보가 너무 많고 복잡하다고 판단한것 같습니다. 따라서 단계적으로 값을 통합하는 작업을 하고 UserAgent 대신 Client Hints 로 대체한다고 하네요. 다른 브라우저의 구체적인 작업 계획은 모르겠지만 최신 브라우저는 아마도 이 정책을 따라가게 될것 같습니다. 당연히 인터넷 익스플로러는 변경되지 않을것이므로 이에 대한 처리 방법은 각자 판단하시면 딥니다.

기사 : https://www.zdnet.com/article/google-to-phase-out-user-agent-strings-in-chrome/

Client Hints : https://wicg.github.io/ua-client-hints/

UserAgent 지원 중단에 따라 점검해야 하는 항목은 대충 아래와 같습니다.

  1. 브라우저 체크 로직
  2. 운영체제 체크 로직
  3. UserAgent를 이용한 통계 수집

1,2번은 웹개발자가 쉽게 떠올릴수 있는 범위지만 3번은 웹시스템과는 다른 별도의 어플리케이션으로 동작하는 경우가 많으므로 빠트리기 쉬운 부분입니다. 특히 UserAgent를 단순히 다른 방법으로 제공하는것 뿐 아니라 값의 유형도 단순화 될것으로 생각되므로, 업무 로직도 체크해 보셔야 할 것입니다. 예를들어 기존에 스마트폰의 모델정보도 취급하고 있었다면 이후에는 업무에서 모델에 관한 부분은 빼야할지도 모릅니다. 크롬 베타 81버전이 나오면 좀더 확실해지겠네요.