구글 크롬보다 빠르다는 '파이어폭스 퀀텀' 브라우저 속도의 비밀이 공개됐다. 웹사이트의 방문자 추적 코드 처리 순서를 미루는 기능을 도입한 결과였다.
미국 지디넷은 지난주 퀀텀이라는 이름을 쓰기 시작한 파이어폭스57 버전에서 웹페이지 로딩 시간을 줄이기 위해 적용한 비장의 기술 가운데 하나를 모질라 엔지니어가 공개했다고 보도했다. [☞원문보기]
모질라는 이미 파이어폭스 퀀텀이 월등한 속도와 성능을 선보이게 된 주요 배경을 공개했다. [☞관련기사] 1년전 예고한 소프트웨어 설계 차원의 변화를 실현했다는 메시지였다. [☞관련기사] 여기에 로딩 시간을 단축할 수 있는 트릭이 함께 적용됐다고 한다.
모질라 엔지니어 혼자 밤바스(Honza Bambas)는 이 트릭을 '테일링(tailing)'이라고 표현했다. 테일링은 브라우저가 웹페이지를 로딩하고 렌더링할 때 거기 포함된 사용자 추적 도메인의 스크립트 처리를 뒤로 미루는 동작을 수행하는 파이어폭스 퀀텀의 숨은 기능을 가리킨다.
테일링의 동작은 2년전부터 파이어폭스에 탑재된 트래킹 방지 또는 추적보호(Tracking Protection) 기능의 데이터에 의존한다. 추적보호는 기업들이 온라인 마케팅 및 광고 목적으로 웹사이트 방문자 행동을 추적, 수집하는 코드 실행을 건너뛰는 기능이다. [☞관련기사]
테일링은 방문자 추적 스크립트 실행을 늦추기만 한다. 추적 코드의 실행을 차단하는 게 아니라, 원래 사이트의 요청을 우선 처리한다는 뜻이다. 이는 결과적으로 웹페이지 로딩시 네트워크 대역폭과 컴퓨팅 자원을 아낌으로써 로딩 속도를 높여 준다.
밤바스는 "사이트 하위 자원이 로딩중일 때 (추적 코드 요청 실행은) 최장 6초 가량 일시정지된다"며 "이 늦추기(delay)는 동적으로 또는 비동기로 동작하는 스크립트에만 적용되고, (페이지에 스크립트 삽입 목적으로 들어간) '추적 이미지'는 항상 늦춰진다"고 설명했다.
테일링은 일부 사이트에서는 제대로 동작하지 않는 경우도 있다. 방문자가 볼 때 웹페이지
가 로딩되는 순서대로 화면에 나타나는 게 아니라 몇 초간 아무 것도 표시되지 않은 빈 페이지를 보여주는 결과를 낳기도 한다.
관련기사
- 파이어폭스 퀀텀, 1억7천만명이 설치2017.12.26
- 정부, 공공사이트 HTTPS 보안경고 없앤다2017.12.26
- 크롬북에 파이어폭스 돌려보니2017.12.26
- 파이어폭스로 해킹된 사이트 열면 경고2017.12.26
테일링 기능과 구글이 웹사이트 관리자에게 최적화 도구의 하나로 배포하는 '페이지숨김(Page-Hiding) 스니펫' 코드가 만나면 이런 버그를 야기한다. [☞참조링크] 현재 테일링 기능이 이 코드를 처리하는 동작은 버그로 등록돼 있다. [☞참조링크]
밤바스는 예외를 언급하긴 했지만 테일링 기능에 대해 "이는 모든 HTML 규격에 조화되고, 제대로 만들어진 사이트는 기능적으로 영향을 받지 않을 것이라 본다"며 "테일링의 의도는 시각 효과와 무관한 것들의 처리를 늦춰 성능을 높이는 것"이라고 설명했다.