사용자 에이전트란 무엇인가요?
사용자 에이전트는 특정 프로토콜을 기반으로 서버에 액세스하기 위해 클라이언트 측에서 사용되는 소프트웨어를 말합니다. 일반적으로 "사용자 에이전트"에 대해 논의할 때, 이는 HTTP를 사용하여 웹 서버에 액세스하는 동안 전송되는 HTTP 사용자 에이전트를 의미합니다.
HTTP 통신에서 클라이언트 요청과 함께 전송되는 User-Agent 헤더는 User-Agent를 식별합니다. 예를 들어, Windows 10(2016년 2월 기준)에서 최신 버전의 Google Chrome을 사용하여 웹 서버에 액세스하는 경우 User-Agent 헤더에는 다음 정보가 포함됩니다.
Mozilla/5.0(Windows NT 10.0) AppleWebKit/537.36(KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36
웹 서버는 이러한 정보를 다양한 목적으로 활용합니다. 예를 들어, 가장 자주 사용되는 브라우저를 파악하기 위한 접속 분석이나 운영 체제에 따라 웹 페이지를 맞춤화하는 것(예: PC와 스마트폰에 따라 다른 페이지를 표시) 등이 있습니다.
JavaScript나 다른 스크립트를 사용하는 동적 웹사이트에서 스크립트 실행 동작은 브라우저에 따라 달라질 수 있습니다. 이 문제를 해결하려면 브라우저 간 호환성을 위해 브라우저 유형을 식별하고(종종 사용자 에이전트 정보를 사용) 각 브라우저에 적합한 코드를 실행해야 합니다. 그러나 사용자 에이전트 정보는 위조될 수 있으므로 최신 기술에는 특정 브라우저 종속 코드를 실행하고 결과에 따라 브라우저 유형을 식별하는 것이 포함됩니다.
이전에는 독점적인 브라우저 기능이 널리 사용되어 브라우저 간 호환성이 큰 문제였습니다. 그러나 브라우저 표준화가 발전하면서 이러한 어려움은 완화되었습니다. 일부 최신 웹사이트는 오래된 브라우저에 대한 지원을 명시적으로 제외하여 오래된 기술에 대한 호환성 요구 사항을 줄였습니다.
F5의 BIG-IP iRules를 사용하면 사용자 에이전트 문자열 분석이 간단해져 특정 브라우저에서의 액세스를 차단하고 사용자를 Sorry 페이지로 리디렉션하는 등의 작업이 가능해집니다.