NEW 기획 디자인 개발 프로덕트 아웃소싱 프리랜싱

개발

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

사용자 에이전트 (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

댓글 0

리플러스

웹개발과 UI를 연구하는 리플러스입니다. 현재 UD LAB이라는 채널을 운영하고있고, 디자이너를 위한 개발 공부법을 만들고 있습니다.

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.