기본 사항
브라우저가 웹사이트에 연결하면 HTTP 헤더에 User Agent 필드가 포함됩니다. User Agent 필드의 내용은 브라우저마다 다릅니다. 각 브라우저에는 고유한 User Agent가 있습니다. 본질적으로 User Agent는 브라우저가 "안녕하세요, 저는 Windows에서 Mozilla Firefox입니다." 또는 "안녕하세요, 저는 iPhone의 Safari입니다"라고 웹서버에 말하는 것과 같습니다.
웹서버는이 정보를 사용하여 서로 다른 웹페이지를 다른 웹브라우저와 다른 운영 체제에 제공할 수 있습니다. 예를 들어 웹사이트는 모바일 페이지를 최신 모바일 페이지로, 최신 페이지를 최신 브라우저로, 또는 "브라우저를 업그레이드하십시오"라는 메시지를 브라우저에 보낼 수 있습니다.
사용중인 브라우저 User Agent String 알아내는 방법
아래와 같이 "https://www.whoishostingthis.com/tools/user-agent/" 웹사이트에 접속하면 현재 사용중인 브라우저의 User Agent String를 알아낼 수 있습니다.
User Agent String 역사
Mosaic는 최초의 브라우저 중 하나였습니다. User Agent String은 'NCSA_Mosaic/2.0'입니다. 나중에 Mozilla가 나왔고 (나중에 Netscape로 바뀜), User Agent String는 'Mozilla/1.0'이었습니다. Mozilla는 Mosaic보다 고급 브라우저였습니다. 특히 프레임을 지원했습니다. 웹 서버는 User Agent String에 Mozilla라는 단어가 들어 있는지 확인하고 Mozilla 브라우저에 프레임이 포함된 페이지를 보냈습니다. 다른 브라우저에서는 웹 서버가 프레임이 없는 페이지를 보냈습니다.
결국 Microsoft의 Internet Explorer도 등장했으며 프레임도 지원했습니다. 그러나 IE는 프레임이 있는 웹 페이지를받 지 못했습니다. 웹 서버가 모질라 브라우저로 전송했기 때문입니다. 이 문제를 해결하기 위해 Microsoft는 User Agent String에 Mozilla라는 단어를 추가하고 추가 정보 ("compatible"및 IE에 대한 참조)를 던졌습니다. 웹 서버는 Mozilla라는 단어를 보게되어 IE에 현대 웹 페이지를 보냈습니다. 나중에 나온 다른 브라우저도 똑같은 일을 했습니다.
결국 일부 서버는 Gecko (Firefox의 렌더링 엔진)라는 단어를 찾고 Gecko 브라우저에 이전 브라우저와 다른 페이지를 제공했습니다. 원래 Konquerer를 위해 KDE 데스크탑용으로 개발된 KHTML에는 Gecko와 같은 최신 페이지를 얻을 수 있도록 ""like Gecko"이라는 단어가 추가되었습니다. WebKit은 KHTML을 기반으로 개발되었지만 WebKit이라는 단어를 추가하고 호환성을 위해 원래의 "KHTML, like Gecko" 줄을 유지했습니다. 이런 식으로 브라우저 개발자는 계속해서 User Agent String에 단어를 추가했습니다.
웹 서버는 정확한 User Agent String이 무엇인지 신경쓰지 않습니다. 단지 특정 단어가 포함되어 있는지 확인하기만 하면 됩니다.
User Agent String 용도
웹 서버는 다음과 같은 다양한 용도로 User Agent String를 사용합니다.
▶ 다른 웹 브라우저에는 다른 웹 페이지 제공함. 예를 들어, 구형 브라우저에 단순한 웹 페이지를 제공합니다.
▶ 다른 운영 체제에는 다른 콘텐츠를 표시함. 모바일 장치에는 그 장치에 맞게 간소화된 페이지를 보내줍니다.
▶ 사용자가 사용중인 브라우저 및 운영 체제를 보여주는 통계를 수집합니다. 브라우저 시장 점유율 통계를 본 적이 있다면, 이것이 통계를 입수하는 방법입니다.
웹 크롤링 로봇도 User Agent String을 사용합니다. 예를 들어 Google의 웹 크롤러는 다음과 같이 자신을 식별합니다.
웹 서버는 봇에게 특별한 등록 절차 (예 : 필수 등록 화면을 통해 허용)를 제공 할 수 있습니다. (예, User Agent String를 Googlebot으로 설정하여 등록 화면을 무시할 수도 있음을 의미합니다.)
웹 서버는 robots.txt 파일을 사용하여 특정 봇 (또는 모든 봇)에게 주문을 제공할 수도 있습니다. 예를 들어 웹 서버는 특정 봇에게 정보를 제공하지 못하게 하거나, 다른 봇에게 정보를 제공하도록 지정할 수 있습니다. robots.txt 파일에서 봇은 User Agent String로 식별됩니다.
모든 주요 브라우저에는 Custom User Agent String을 설정할 수 있는 방법이 포함되어 있으므로 웹 서버가 다른 브라우저로 보내는 내용을 볼 수 있습니다. 예를 들어 데스크톱 브라우저를 모바일 브라우저의 User Agent String로 설정하면 데스크톱에 모바일 버전의 웹 페이지가 표시됩니다.
댓글 없음:
댓글 쓰기