본문 바로가기
웹개발

웹 브라우저 : 사용자 에이전트란 ?

by 리플러스 2021. 3. 18.
728x90

사용자 에이전트란 ?

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

 

 

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

 

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

 

 

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

 

 

각각의 브라우저에서 쓸 수 있는 기능과, 사용이 어려운 기능. 과정이 복잡한 기능 등. 브라우저마다 기능을 지원하는 범위가 다릅니다. 그래서 문제가 발생한다면, 그 브라우저가 무엇이고, 어떤 이유에서 문제가 발생했는지. 기록을 하는 것이죠. 

 

https://caniuse.com/webp

 

Can I use... Support tables for HTML5, CSS3, etc

Image format (based on the VP8 video format) that supports lossy and lossless compression, as well as animation and alpha transparency. WebP generally has better compression than JPEG, PNG and GIF and is designed to supersede them. AVIF and JPEG XL are des

caniuse.com

 

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

 

 

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

 

 

 

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

 

현재 전세계에서 사용되는 브라우저들 중. 애플의 safari 브라우저를 제외하고 대부분이 크롬 기반의 블링크 엔진을 사용하고있습니다.

 

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

 

과거에는 개별 브라우저가 고유한 엔진을 사용했습니다. 그러나 사용양에서 크롬이 1등을 차지하고, 인터넷 익스플로러와 파이어폭스, 오페라 브라우저 등이 뒤로 물러나면서 상황이 달라졌죠. 

 

 

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

 

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

 

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

 

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

 

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

지금까지 사용자에이전트에 대해 좀 더 자세한 내용을 알고싶다면, 다음 링크를 참조하세요 !

 

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

 

사용자 에이전트를 이용한 브라우저 감지 - HTTP | MDN

사용자 에이전트를 이용한 브라우저 감지 보통 브라우저마다 다른 웹 페이지 또는 서비스를 제공하는 것은 나쁜 생각입니다. 웹은 사용자가 어떤 브라우저나 디바이스를 사용하고 있는지 개의

developer.mozilla.org




728x90

댓글