Categories
Tags
Backtracking Base-64 인코딩 Cache-Control CI-CD Content-negotiation CORS CPU Scheduling Docker GitHub Actions HTTP HTTP 기본 인증 HTTP 완벽 가이드 HTTP2.0 HTTPS HTTP버전 Linux Memory Management Nginx OPTION 메소드 Paging Primality Test proxy Review robots.txt Simulation Spring Boot SSL, TLS TCP 커넥션 TRACE 메소드 UA (User Agent) URL Virtualization (OS) 검색 엔진 국제화 내용 협상 무중단 배포 엔터티와 인코딩 웹 로봇 웹 서버 지속 커넥션 캐시 쿠키 크롤러 클라이언트 식별 트랜스 코딩 프록시
514 words
3 minutes
User Agent
User Agent
- 자기 자신에 대한 식별 정보를 의미한다. 식별 정보에는 예를 들어
브라우저 이름
,버전
,호스트 OS
,기기 종류
등이 있다. - 이 정보를 통하여 클라이언트를 식별하여 클라이언트에 따라 적절한 콘텐츠를 제공할 수 있다.
HTTP 요청 헤더에서의 User-Agent
- 클라이언트가 서버에 요청을 보낼 때 포함되는 정보이다.
- 이 정보를 통해 서버는 클라이언트의 정보에 맞게 최적화 된 정보를 제공할 수 있다.
사용 예제
toss/slash
Navigator.userAgent
- 브라우저 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
기법)- 이를 악용하여 현재 구글 검색 시 결과에서 스팸사이트가 발생하는 현상 이 있다.
- 이는 스팸 사이트가 구글 웹 로봇을 겨냥하여, 접속한 user agent가 구글봇인 경우 정상적인 사이트를 보여주고, 그 외에는 스팸 사이트로 리다이렉션 시키는 방식으로 동작한다.
- 참고 : [정보] 구글 검색 결과에서 스팸 사이트가 발생하는 원인 및 해결법
- 이를 악용하여 현재 구글 검색 시 결과에서 스팸사이트가 발생하는 현상 이 있다.
- 또한 브라우저 사용자 역시 원하는 경우 이 필드의 값을 변경할 수 있다. (
UA spoofing
)