<p style="text-align:justify;"><span style="background-color:white;">사용자 에이전트</span> (User Agent)<span style="background-color:white;">란, 우리가 사용하는 웹 브라우저 속에 숨겨진 중요한 기능 중 하나를 말합니다. 간단히 말해 내가 어떤 OS를 쓰고 있고, 버전은 어떤 버전인지 웹 브라우저의 정보는 어떤 것인지 등을 담고 있는 번호판 같은 개념입니다.</span></p><figure class="image image_resized" style="width:80%;"><img src="https://www.wishket.com/media/news/559/1.png"></figure><p style="text-align:justify;"><span style="background-color:white;">사용자 에이전트가 필요한 이유는 인터넷 브라우저가 어떻게 동작하는가에 관련이 있는데요. 인터넷 브라우저가 동작하는 과정을 정리하면 다음과 같습니다.</span></p><p style="text-align:justify;"> </p><ol><li style="text-align:justify;"><span style="background-color:white;">내 컴퓨터/디바이스에서 접속하려는 사이트의 URL을 입력한다.</span></li><li style="text-align:justify;"><span style="background-color:white;">그 사이트 URL이 어떤 국가의 서버로 연결되어야 하는지, IP 주소를 알아온다.</span></li><li style="text-align:justify;"><span style="background-color:white;">확인된 IP 주소 속, 사이트를 구성하는 조립 정보/매뉴얼을 가져와서</span></li><li style="text-align:justify;"><span style="background-color:white;">내 웹 브라우저에서 사이트를 조립해, 완성된 결과를 보여준다.</span></li></ol><p style="text-align:justify;"> </p><figure class="image image_resized" style="width:80%;"><img src="https://www.wishket.com/media/news/559/2.png"></figure><p style="text-align:justify;"><span style="background-color:white;">실제로 웹사이트는 전체 구조와 개별 콘텐츠 요소의 조합으로 만들어진 결과물입니다. 그래서 웹 브라우저가 인식하지 못하는 부품을 갖고 있는 사이트의 경우, 에러가 뜨거나 화면이 깨져서 나오는 등 여러 문제가 발생할 수 있습니다. 이런 문제를 해결하기 위해 만들어진 것이 사용자 에이전트입니다.</span></p><p style="text-align:justify;"> </p><figure class="image image_resized" style="width:80%;"><img src="https://www.wishket.com/media/news/559/3.png"></figure><p style="text-align:justify;"><span style="background-color:white;">위 화면은 Can I use라는 사이트의 화면입니다. 각각의 브라우저에서 쓸 수 있는 기능과 사용이 어려운 기능, 과정이 복잡한 기능 등 브라우저마다 기능을 지원하는 범위를 정리한 사이트죠. 과거에는 이런 브라우저마다 사용할 수 있는 기능이나 지원범위가 각자 달랐습니다. 그래서 문제가 발생한다면, 그 브라우저가 무엇이고 어떤 이유에서 문제가 발생했는지 기록해둘 필요가 있었죠 </span></p><p style="text-align:justify;"> </p><p style="text-align:justify;"><span style="background-color:white;">과거에는 브라우저의 종류가 너무 많고, 다양했기 때문에 이런 문제가 더 많이 발생했습니다. 하지만 최근에는 브라우저 수는 많아도, 대부분 비슷비슷한 기능을 지원하게 되었습니다. 그 이유는 구글의 크롬 브라우저를 기반으로 다양한 웹 브라우저들이 새롭게 만들어졌기 때문입니다.</span></p><p style="text-align:justify;"> </p><figure class="image image_resized" style="width:80%;"><img src="https://www.wishket.com/media/news/559/4.png"></figure><p style="text-align:justify;"><span style="background-color:white;">과거에는 각각의 웹 브라우저가 자체 엔진을 사용했습니다. 그러나 사용량에서 크롬이 1등을 차지하고, 인터넷 익스플로러와 파이어폭스, 오페라 브라우저 등이 뒤로 물러나면서 상황이 달라졌죠. 브라우저 개발 및 유지보수에는 많은 비용이 드는데 사용자는 계속 줄어드니 결국 1등 브라우저를 따라가기로 한 겁니다.</span></p><p style="text-align:justify;"> </p><figure class="image image_resized" style="width:80%;"><img src="https://www.wishket.com/media/news/559/5.png"></figure><p style="text-align:justify;"><span style="background-color:white;">구글은 오픈 소스를 사랑하는 회사입니다. 그래서 자신들이 만든 웹 브라우저를 가지고, 다시 변형 브라우저를 만들 수 있도록 길을 열어 두었습니다. 마치 안드로이드 OS를 기반으로 삼성이 One UI를 만들어낸 것처럼 브라우저 역시 이런 과정을 거쳤다고 보시면 됩니다.</span></p><p style="text-align:justify;"> </p><figure class="image image_resized" style="width:80%;"><img src="https://www.wishket.com/media/news/559/6.png"></figure><figure class="image image_resized" style="width:80%;"><img src="https://www.wishket.com/media/news/559/7.png"></figure><p style="text-align:justify;"><span style="background-color:white;">2021년 기준, 크롬이 63%, 사파리가 14%, IE와 엣지 브라우저가 8.0% 등으로 적어도 네 개의 브라우저가 전 세계에서 사용되고 있습니다. 이외에도 한국의 네이버가 만든 웨일 브라우저나, 모바일 기기인 삼성 폰의 삼성 브라우저 등도 이런 브라우저 생태계에서 빼놓을 수 없는 요소들입니다.</span></p><p style="text-align:justify;"> </p><p style="text-align:justify;"><span style="background-color:white;">그러나 전 세계에서 사용되는 브라우저들 중 애플의 safari 브라우저를 제외한 대부분이 크롬 기반의 블링크 엔진을 사용하고 있습니다. 그래서 겉으로는 달라 보여도, 핵심 기능은 크롬/블링크 엔진을 따라간다고 보시면 됩니다.</span></p><p style="text-align:justify;"> </p><ul><li style="text-align:justify;"><span style="background-color:white;">마이크로소프트: Edge </span></li><li style="text-align:justify;"><span style="background-color:white;">모질라 재단: 파이어폭스</span></li><li style="text-align:justify;"><span style="background-color:white;">오페라 브라우저: 크롬 기반</span></li><li style="text-align:justify;"><span style="background-color:white;">삼성: 삼성 인터넷 브라우저</span></li><li style="text-align:justify;"><span style="background-color:white;">네이버: 웨일</span></li></ul><p style="text-align:justify;"> </p><figure class="image image_resized" style="width:80%;"><img src="https://www.wishket.com/media/news/559/8.png"></figure><p style="text-align:justify;"><span style="background-color:white;">사용자 에이전트는 과거에 여러 웹 브라우저에서 동일한 서비스를 제공하기 위해 만들어졌습니다. 각 브라우저 버전과 엔진을 확인하고, 브라우저별 최적화를 시키려고 만들어 둔 기능이었죠. 그러나 현재는 대부분의 브라우저들이 크롬/블링크 엔진을 사용하고있습니다. 그래서 브라우저보다 접속한 컴퓨터 OS나, 모바일 디바이스를 구분하는 역할이 더 커지게 되었습니다.</span></p><p style="text-align:justify;"> </p><figure class="image image_resized" style="width:100%;"><img src="https://www.wishket.com/media/news/559/9.png"></figure><p style="text-align:justify;"><span style="background-color:white;">이런 정보들은 서비스 관리자나 운영자가 확인할 수 있는 중요한 자료가 됩니다. 이런 통계를 기반으로 어떤 기기, OS를 많이 사용하는지 어떤 기기에 최적화를 해줘야 하는지 알 수 있습니다.</span></p><p style="text-align:justify;"> </p><p style="text-align:justify;"><span style="background-color:white;">사용자 에이전트에 대해 정리를 해보자면 다음과 같습니다.</span></p><p style="text-align:justify;"> </p><ul><li style="text-align:justify;"><span style="background-color:white;">사용자 에이전트는 사용자의 웹 브라우저와, 기기의 정보를 담고 있다.</span></li><li style="text-align:justify;"><span style="background-color:white;">과거에는 웹 브라우저가 각자 다른 엔진을 썼고,</span></li><li style="text-align:justify;"><span style="background-color:white;">브라우저마다 에러, 기능 제한이 있어 최적화가 어려웠다.</span></li><li style="text-align:justify;"><span style="background-color:white;">최근에는 대부분의 브라우저가 크롬/블링크 엔진을 사용 중이고,</span></li><li style="text-align:justify;"><span style="background-color:white;">대부분의 브라우저가 비슷한 지원 범위를 갖게 되었다.</span></li></ul><p style="text-align:justify;"> </p><p style="text-align:justify;"><span style="background-color:white;">결국 웹 브라우저의 역사 속에서 사용자 에이전트는 모바일 디바이스 기기와 OS 버전을 체크하는 용도가 더 강해진 상태입니다. </span></p><p style="text-align:justify;"> </p><p style="text-align:justify;"><span style="background-color:white;">지금까지 사용자 에이전트에 대해 알아보았습니다. 좀 더 자세한 내용을 알고 싶다면, 다음 링크를 참고해보세요.</span></p><p style="text-align:justify;"> </p><p style="text-align:justify;"><span style="background-color:white;"><출처 및 참고자료></span></p><p style="text-align:justify;">1. <a href="https://developer.mozilla.org/ko/docs/Web/HTTP/Browser_detection_using_the_user_agent"><span style="background-color:white;">https://developer.mozilla.org/ko/docs/Web/HTTP/Browser_detection_using_the_user_agent</span></a></p><p style="text-align:justify;"><span style="background-color:white;">2. </span><a href="https://caniuse.com/webp">https://caniuse.com/webp</a></p><p style="text-align:justify;"> </p><p style="margin-left:0px;text-align:center;"><span style="color:rgb(153,153,153);">©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.</span></p>