{{{+1 사용자 에이전트 / User Agent}}} [목차] == 개요 == 사용자를 대신하여 일을 수행하는 소프트웨어 에이전트. 여기서 '사용자를 대신하여 일을 수행하는 소프트웨어'는 대개 '''[[웹 브라우저]]'''를 뜻한다. 사용자 에이전트가 쓰이는 곳은 대개 웹 분야이니까. 그런데 웹 브라우저와 OS의 수는 수없이 많다. 웹 브라우저만 해도 모질라 [[파이어폭스(웹 브라우저)|파이어폭스]], 구글 [[크롬(웹 브라우저)|크롬]], 애플 [[Safari]], MS [[인터넷 익스플로러]] 등이 있고, 최근에는 OS의 다변화도 이루어져 MS [[Microsoft Windows|윈도우]] 말고도 [[안드로이드(운영체제)]], [[iOS]] 등 모바일 플랫폼용 OS도 많이 출시되었다. 여기서 웹페이지에 접속할 때 각 플랫폼에 맞는 페이지, 즉 모바일 페이지나 데스크탑용 페이지로 연결하려면 거기에 맞는 정보가 필요한데, '''그 정보가 바로 사용자 에이전트'''이다. 이름만 보면 거창하지만 사실상 평범한 웹 헤더다. [[https://www.whatismybrowser.com/detect/what-is-my-user-agent|What is my User Agent?]] 등에서 확인할 수 있다. 사실 이는 사용자 에이전트 자체라기 보다는, 사용자 에이전트가 뭔지 표시하는 문자열이고, 영어로 정확히 표현하면 User-Agent string in HTTP라고 해야 옳겠지만, 줄임말 비슷하게 앞뒤 자르고 User Agent라고만 하는 경향이 있다보니 용어가 혼용되는 것이다. [[https://en.wikipedia.org/wiki/User_agent|영문 위키백과]]에서도 설명 자체는 구분해놨지만, User agent identification과 Use in HTTP라는 하위 문서를 통해 적당히 구분해 놓은 정도이다. 아래 설명들도 바로 이 웹 헤더로써의 사용자 에이전트를 설명하는 것이다. == 구조 == 아래에 샘플을 준비했다. >Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 [[윈도우 10|윈도우 NT 10버전]] 64비트의 Gecko 같은 브라우저 레이아웃 엔진인 KHTML을 사용하는 [[크롬(웹 브라우저)|크롬]] 52.0.2743.116버전이고, AppleWebKit 및 [[Safari]] 537.36 버전 과 호환되는 브라우저다. (User-agent string에 대해 좀 아는 사람은 알겠지만 실제 [[크롬(웹 브라우저)|크롬]] 52.0.2743.116버전에서 출력하는 내용이다.) 이하는 [[파이어폭스(웹 브라우저)|파이어폭스]] 60버전으로 확인 시 볼 수 있는 User-agent string이다. >Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 [[https://developers.whatismybrowser.com/useragents/explore/|여기]]에서 해당 사이트가 수집한 모든 User-Agent string을 확인할 수 있다. == 역사 == === 과거 === 1995년 HTML 2.0이 나오기 전까지 HTML은 표준화되지 않았다. 당시에는 유저 에이전트 없이 아주 잘 사용했다. 하지만 시간이 지날수록 브라우저가 많아지고 호환성 문제가 늘어나 이 문제들을 해결하기 위해 만든 것이 '''유저 에이전트'''이다. 하지만 그 당시에는 Netscape Navigator와 Internet Explorer 만 주로 사용하였고, 그래서 종류와 버전으로 구분 했으면 됐다. 그러나 Netscape Navigator는 Mozilla/version 정보를 찾는 방식이었다. 이후의 다른 브라우저 벤더들은 자사 제품이 Netscape 브라우저의 특정 버전과 호환된다는 의미로 유저 에이전트 정보에 Mozilla/version 을 추가했다. 실제로는 Mozilla/version 기반이 아니었지만. === 현재 === 옛 페이지들을 그냥 버릴 수는 없으므로 호환성을 위해 이제는 그냥 Mozilla/5.0을 넣어줘서 호환성을 유지하고 있다. 비슷한 이유로 like Gecko도 거의 모든 브라우저에서 사용하게 되었다.[* 몇몇 브라우저는 생략 하기도 한다. 그리고 모질라 계열 브라우저(예전의 Netscape, Mozilla Suite나 현재의 Firefox, SeaMonkey 등)는 정통 Gecko 엔진이므로 like 없이 Gecko만 쓴다.] [[분류:컴퓨터]]