정의
- 사용자를 대신하여 일을 수행하는 SW의 식별 정보
- 주로 웹브라우저를 뜻함
웹브라우저만 해도 chrome, firefox, safari 등 수없이 많고 운영체제 OS도 Window,Mac,Android 등 굉장히 많다.
또 여기서 각각에 해당하는 version도 있다.
바로 이들을 식별하기 위해 탄생한 것이 user-agent이다.
웹 페이지에 접속할 때 각 플랫폼에 맞는 페이지(ex. mobile or PC)로 가기 위해서는 정보가 필요하기 때문이다.
즉, user-agent는 사용자의 웹 브라우저와 기기 정보를 담고 있다.
인터넷 브라우저 동작 과정
- 내 컴퓨터/디바이스에서 접속하려는 사이트의 URL 입력
- URL이 어떤 국가의 서버로 연결되어야 하는지, IP주소를 알아온다.
- 확인된 IP 주소 속 사이트를 구성하는 정보를 가져와서
- 내 웹 브라우저에서 그 정보를 조립해, 완성된 결과를 보여준다.
과거에는 브라우저마다 각각 다른 엔진을 썼고, 브라우저마다 에러/기능 제한이 있어 최적화가 어려웠는데
최근에는 대부분의 브라우저가 크롬/블링크 엔진을 사용 중이고, 대부분 브라우저가 비슷한 지원 범위를 갖기 때문에 사용할 수 있는 것이다.
** 크롬에서 user-Agent 값을 확인하는 방법은?
크롬 개발자도구 > Console 탭 > navigator.userAgent 입력
예시 코드
const userAgentString = req.headers['user-agent'];
const user = useragent.parse(userAgentString);
console.log({ userAgent: userAgentString, parsedUserAgent: user });
참고
'Web' 카테고리의 다른 글
JwtToken의 종류(header,payload,signature) (1) | 2023.10.18 |
---|---|
루프백(loopback) ip란? (1) | 2023.06.13 |