514 words
3 minutes
User Agent

User Agent#

  • 자기 자신에 대한 식별 정보를 의미한다. 식별 정보에는 예를 들어 브라우저 이름, 버전, 호스트 OS, 기기 종류 등이 있다.
  • 이 정보를 통하여 클라이언트를 식별하여 클라이언트에 따라 적절한 콘텐츠를 제공할 수 있다.

HTTP 요청 헤더에서의 User-Agent#

  • 클라이언트가 서버에 요청을 보낼 때 포함되는 정보이다.
  • 이 정보를 통해 서버는 클라이언트의 정보에 맞게 최적화 된 정보를 제공할 수 있다.

사용 예제#

  • 브라우저 API (Client Side에서만 사용할 수 있음을 주의하라) 이며, 현재 브라우저의 user agent 문자열을 반한한다.
  • 다음과 같은 정보를 가진다 (출처 : Nagicator.userAgent | mdn web docs)
userAgent = appCodeName/appVersion number (Platform; Security; OS-or-CPU;
Localization; rv: revision-version-number) product/productSub
Application-Name Application-Name-version

보안 취약점#

  • 이 필드에 가능한 적은 정보를 제공하여야 한다. 단순히 userAgent 에 접근함으로서 클라이언트의 정보를 알 수 있기 때문이다. (Sniffing 기법)
  • 또한 브라우저 사용자 역시 원하는 경우 이 필드의 값을 변경할 수 있다. (UA spoofing)

참고 자료#