웹 브라우저 속 숨겨진 중요 기능, 사용자 에이전트(User Agent)란?

2021.03.23

|

11007


*잠깐, 이 글을 소개해드리는 위시켓은 2019년 시밀러웹 방문자 수 기준, 국내 1위 IT아웃소싱 플랫폼입니다.
현재 8만 이상의 개발업체, 개발 프리랜서들이 활동하고 있으며, 무료로 프로젝트 등록이 가능합니다. 프로젝트 등록 한 번으로 여러 개발업체의 견적, 포트폴리오, 예상기간을 한 번에 비교해보세요:)

사용자 에이전트 (User Agent)란, 우리가 사용하는 웹 브라우저 속에 숨겨진 중요한 기능 중 하나를 말합니다. 간단히 말해 내가 어떤 OS를 쓰고 있고, 버전은 어떤 버전인지 웹 브라우저의 정보는 어떤 것인지 등을 담고 있는 번호판 같은 개념입니다.

사용자 에이전트가 필요한 이유는 인터넷 브라우저가 어떻게 동작하는가에 관련이 있는데요. 인터넷 브라우저가 동작하는 과정을 정리하면 다음과 같습니다.

  1. 내 컴퓨터/디바이스에서 접속하려는 사이트의 URL을 입력한다.
  2. 그 사이트 URL이 어떤 국가의 서버로 연결되어야 하는지, IP 주소를 알아온다.
  3. 확인된 IP 주소 속, 사이트를 구성하는 조립 정보/매뉴얼을 가져와서
  4. 내 웹 브라우저에서 사이트를 조립해, 완성된 결과를 보여준다.

실제로 웹사이트는 전체 구조와 개별 콘텐츠 요소의 조합으로 만들어진 결과물입니다. 그래서 웹 브라우저가 인식하지 못하는 부품을 갖고 있는 사이트의 경우, 에러가 뜨거나 화면이 깨져서 나오는 등 여러 문제가 발생할 수 있습니다. 이런 문제를 해결하기 위해 만들어진 것이 사용자 에이전트입니다.

위 화면은 Can I use라는 사이트의 화면입니다. 각각의 브라우저에서 쓸 수 있는 기능과 사용이 어려운 기능, 과정이 복잡한 기능 등 브라우저마다 기능을 지원하는 범위를 정리한 사이트죠. 과거에는 이런 브라우저마다 사용할 수 있는 기능이나 지원범위가 각자 달랐습니다. 그래서 문제가 발생한다면, 그 브라우저가 무엇이고 어떤 이유에서 문제가 발생했는지 기록해둘 필요가 있었죠 

과거에는 브라우저의 종류가 너무 많고, 다양했기 때문에 이런 문제가 더 많이 발생했습니다. 하지만 최근에는 브라우저 수는 많아도, 대부분 비슷비슷한 기능을 지원하게 되었습니다. 그 이유는 구글의 크롬 브라우저를 기반으로 다양한 웹 브라우저들이 새롭게 만들어졌기 때문입니다.

과거에는 각각의 웹 브라우저가 자체 엔진을 사용했습니다. 그러나 사용량에서 크롬이 1등을 차지하고, 인터넷 익스플로러와 파이어폭스, 오페라 브라우저 등이 뒤로 물러나면서 상황이 달라졌죠. 브라우저 개발 및 유지보수에는 많은 비용이 드는데 사용자는 계속 줄어드니 결국 1등 브라우저를 따라가기로 한 겁니다.

구글은 오픈 소스를 사랑하는 회사입니다. 그래서 자신들이 만든 웹 브라우저를 가지고, 다시 변형 브라우저를 만들 수 있도록 길을 열어 두었습니다. 마치 안드로이드 OS를 기반으로 삼성이 One UI를 만들어낸 것처럼 브라우저 역시 이런 과정을 거쳤다고 보시면 됩니다.


2021년 기준, 크롬이 63%, 사파리가 14%, IE와 엣지 브라우저가 8.0% 등으로 적어도 네 개의 브라우저가 전 세계에서 사용되고 있습니다. 이외에도 한국의 네이버가 만든 웨일 브라우저나, 모바일 기기인 삼성 폰의 삼성 브라우저 등도 이런 브라우저 생태계에서 빼놓을 수 없는 요소들입니다.

그러나 전 세계에서 사용되는 브라우저들 중 애플의 safari 브라우저를 제외한 대부분이 크롬 기반의 블링크 엔진을 사용하고 있습니다. 그래서 겉으로는 달라 보여도, 핵심 기능은 크롬/블링크 엔진을 따라간다고 보시면 됩니다.

  • 마이크로소프트: Edge 
  • 모질라 재단: 파이어폭스
  • 오페라 브라우저: 크롬 기반
  • 삼성: 삼성 인터넷 브라우저
  • 네이버: 웨일

사용자 에이전트는 과거에 여러 웹 브라우저에서 동일한 서비스를 제공하기 위해 만들어졌습니다. 각 브라우저 버전과 엔진을 확인하고, 브라우저별 최적화를 시키려고 만들어 둔 기능이었죠. 그러나 현재는 대부분의 브라우저들이 크롬/블링크 엔진을 사용하고있습니다. 그래서 브라우저보다 접속한 컴퓨터 OS나, 모바일 디바이스를 구분하는 역할이 더 커지게 되었습니다.

이런 정보들은 서비스 관리자나 운영자가 확인할 수 있는 중요한 자료가 됩니다. 이런 통계를 기반으로 어떤 기기, OS를 많이 사용하는지 어떤 기기에 최적화를 해줘야 하는지 알 수 있습니다.

사용자 에이전트에 대해 정리를 해보자면 다음과 같습니다.

  • 사용자 에이전트는 사용자의 웹 브라우저와, 기기의 정보를 담고 있다.
  • 과거에는 웹 브라우저가 각자 다른 엔진을 썼고,
  • 브라우저마다 에러, 기능 제한이 있어 최적화가 어려웠다.
  • 최근에는 대부분의 브라우저가 크롬/블링크 엔진을 사용 중이고,
  • 대부분의 브라우저가 비슷한 지원 범위를 갖게 되었다.

결국 웹 브라우저의 역사 속에서 사용자 에이전트는 모바일 디바이스 기기와 OS 버전을 체크하는 용도가 더 강해진 상태입니다. 

지금까지 사용자 에이전트에 대해 알아보았습니다. 좀 더 자세한 내용을 알고 싶다면, 다음 링크를 참고해보세요.

<출처 및 참고자료>

1. https://developer.mozilla.org/ko/docs/Web/HTTP/Browser_detection_using_the_user_agent

2. https://caniuse.com/webp

국내 1위 IT아웃소싱 플랫폼,
위시켓이 궁금하신가요?

앱 개발 비용 궁금하세요?
위시켓이 바로 알려드릴게요!

EdgeOS버전 체크OS버전체크User AgentUser Agent란UserAgentUserAgent란블링크엔진사용자 에이전트사용자 에이전트 정리사용자 에이전트 필요 이유사용자 에이전트 필요이유사용자 에이전트란사용자 에이전트정리사용자에이전트사용자에이전트 필요이유사용자에이전트란삼성인터넷 브라우저삼성인터넷브라우저웨일크롬 기반의 블링크엔진크롬기반크롬기반의 블링크 엔진크롬기반의 블링크엔진파이어폭스
다음 글

위시켓 블로그의 새로운 소식 받기