모두가 만족하는 '완벽한 브라우저'의 조건

일반입력 :2013/08/05 16:18

웹브라우저 시장은 뜨겁다. MS, 구글, 애플 같은 IT업계 거물들이 경쟁중이어서 뜨겁고, 브라우저의 보안취약성을 노린 악성코드도 어느때보다 극성을 부려 뜨겁다. 그러나 모두를 만족시키는 웹브라우저는 없다.

월드와이드웹(WWW)을 이용하는 창구에 불과했던 웹브라우저는 이제 컴퓨팅 플랫폼으로 지위를 높여가고 있다. 구글 크롬은 어엿한 노트북의 운영체제(OS)다. 모질라재단의 파이어폭스도 OS로 변신을 꾀하는 중이다.

현재 웹브라우저 시장엔 MS의 인터넷익스플로러(IE), 구글의 크롬, 애플의 사파리, 모질라의 파이어폭스, 오페라소프트웨어의 오페라 등 다양한 브라우저가 있다. 그러나 이중 모든 환경에서 만족스러운 SW는 없다. IE는 윈도 환경에만 최적화됐으며 사파리도 맥OS X와 iOS에 최적화됐다. 애플은 iOS에서 사파리 외 브라우저에 대해 하드웨어 최적화를 제한한다.

최근 미국 지디넷의 컬럼니스트 켄 헤스는 '모든 훌륭한 브라우저는 어디로 가는가'라는 글을 통해 현존하는 웹브라우저에서 느낀 아쉬움을 밝혔다. 그는 “나는 신뢰성, 안정성, 플랫폼 호환성을 가진 브라우저를 필요로 한다”라며 “그러나 만족스러운 것을 하나도 찾을 수 없다”고 적었다.

■따로 노는 웹브라우저, 호환성을 보장하라

그는 자신의 소셜네트워크를 통해 입수한 웹브라우저들의 문제점을 열거했다. 크롬은 종종 리눅스 환경에서 CPU를 100% 점유한다. 이런 컴퓨팅 자원관리 에러는 윈도에서도 빈번히 발생해 크롬과 윈도7이 충돌하는 현상을 빚어낸다. 크롬은 리눅스, 윈도, iOS 어디서든 갑자기 인식되지 않는 브라우저로 나타나기도 한다.

일부는 파이어폭스도 크롬과 유사한 현상을 보였다는 제보를 보냈다. 오페라 브라우저도 '인식되지 않은 브라우저'란 메시지가 자주 출몰한다. 켄 헤스는 “오페라 사용을 중단하고 나서야 행복해졌다”고 적었을 정도다.

그는 최상의 웹브라우저 조건들을 꼽았다. ▲신뢰성 ▲안정성 ▲속도 ▲크로스플랫폼 ▲스킨 ▲탭 ▲확장성 ▲플래시 호환 ▲HTML5 ▲자바 호환 ▲자바스크립트 호환 ▲팝업차단 ▲백신SW 호환 ▲악성코드 방지 ▲크로스 브라우저 호환성 ▲스텔스모드 구성 ▲탭별 프로세스 구분 ▲탭 구성 독립성 ▲자립성 등이다.

그는 꼽아놓은 조건 가운데 몇가지에 대해 부연설명을 달았다. 현재 상황에서 절실하다고 생각되는 것들에 대해서다.

■안티바이러스 호환

백신 SW는 종종 브라우징을 방해한다. 웹사이트를 방문할 때 백신SW는 브라우저 작동을 멈추게 하고, 안전성 여부를 검사하곤 하는 것이다. 처음 방문하는 웹사이트가 백신SW에게 안전하다고 간주되려면 기본적으로 사이트를 다시 한번 들어가야 하는 식이다.

웹브라우저와 백신SW가 완벽히 호환되지 않는 탓이다. 두 SW 간의 호환이 이뤄지는 방식의 한 예는 리스트다. 새로운 페이지를 클릭했을 때, 안전성 검사 후 얼마나 안전한지 그 정보를 리스트로 만들고 사용자에게 알려준다. 사이트 안전성 비율 순서대로 정렬시키고, 화이트리스트, 그레이리스트, 블랙리스트로 구분해 관리하는 것이다. 위협적인 콘텐츠 보유에 따라서다.

■크로스 브라우저 호환성

대부분의 웹브라우저는 그 존재를 숨길 수 있다. 크롬에서 아이폰5 화면 크기로 웹페이지를 바꿔보는 식으로 작동시킬 수 있다는 얘기다.

이는 일반인에겐 큰 필요성은 없는 부분이지만, 다양한 기기와 웹브라우저에 최적화된 웹을 만들어야 하는 개발자에게 크로스 브라우저 호환성은 매우 필요한 기능이다.

현존 브라우저는 이런 기능을 지원하긴 한다. 그러나 이스터에그 찾기에 가까운 과정을 거쳐야 한다. 크롬을 예로 들자. 크롬 작동 후 'Ctrl-Shift-i'를 누르면, 디버깅 창이 아래에 열린다. 창 맨 아래 오른쪽 톱니바퀴를 누르고 'Overrides'를 선택하면 '유저 에이전트'에서 브라우저를 선택할 수 있다. 그럼 각 브라우저 환경에 맞는 웹페이지를 확인해볼 수 있다.

웹개발자는 오늘날 윈도, 맥OS X, iOS, 안드로이드, 크롬, 리눅스 등의 다양한 기기와 수많은 브라우저별 조합에 따라 웹페이지를 별도로 만들어야 하는 상황에 처했다.

만약 에이전트 탐지, 혹은 렌더링엔진 탐지를 자동화한다면 개발자의 부담을 줄일 수 있다. 웹브라우저들은 각자 별도의 렌더링 엔진을 사용하는데 그를 탐지하는 기능을 내장하면, 여러 브라우저를 오가더라도 웹페이지의 모양을 자동으로 변환해 보여줄 수 있다.

■스텔스모드 구성

웹브라우저는 익명으로 웹을 오갈 수 있는 기능을 제공한다. 브라우저마다 부르는 명칭이 다른데, 여기선 스텔스모드로 통칭한다. 스텔스모드는 내 PC에 쿠키를 심어 정보를 수집하는 것을 방지하는 것이다.

쿠키를 허용했을 때 피해를 입기도 하지만, 쿠키 허용으로 혜택을 보는 경우도 많다. 이 경우 사용자는 스텔스모드의 적용여부를 수동으로 선택해야 한다. 이 스텔스모드를 사전에 특정 웹사이트에서 자동으로 적용되도록 한다면, 이 같은 불편함을 줄일 수 있다.

무엇보다 웹브라우저 하단에서 떠오르는 팝업 알림을 줄일 수 있다. 쿠키를 담은 웹페이지 방문 시 브라우저 하단에 떠오르는 팝업은 성가신 존재다. 페이지를 열 것인지, 닫을 것인지 선택하도록 해 자연스러운 웹서핑을 방해하기 때문이다.

브라우저가 사용자의 웹사이트 내 선택을 기억하도록 한다면, 사이트를 방문할 때마다 팝업창을 보는 수고를 덜 수 있을 것이다.

■탭 구성 독립성

현재 웹브라우저는 각 탭이 동일한 설정을 공유한다. 어떤 탭에선 스텔스모드를 사용하다가, 다른 탭에선 일반모드를 사용하려 할 때, 설정에 들어가 일일이 바꿔줘야 한다. 각 탭마다 사전설정을 독립적으로 하게 한다면 이 같은 수고가 줄어들 것이다.

■상호운용성, 개발자의 답을 기다린다

켄 헤스는 글을 마무리하며 “완벽한 브라우저는 없다는 걸 나도 안다. 그리고 모든 위협들이 완벽한 것을 만들 지 못하게 방해한다는 것도 알고 있다”라며 “개발자는 그들의 SW 취약점을 틈타 숨어드는 각종 보안위협을 방지하기 위해 많은 시간을 할애해야 한다. 그들은 그래서 훌륭한 기능에 초점을 맞출 수 없다”라고 안타까움을 표시했다.

관련기사

그는 이어 “그러나 솔루션은 더 나은 호환성이나 상호운용성을 가져야 한다”라며 “웹브라우저와 악성코드방지 SW, 백신SW들은 PC 속에서 개별적으로 작동하지만, 몇몇 벤더가 악수만 한다면, 상호운용성은 해결될 수 있는 문제다”라고 강조했다.

그는 질문으로 돌아갔다. 그는 “모든 훌륭한 브라우저는 어디로 갔는가에 대한 답은 개발자가 내놓길 바란다”라고 적었다.