본문 바로가기

IT/Opera

오페라미니는 어떻게 스마트폰 데이터를 90%나 절약할까?

오페라미니가 데이터절약으로 유명한 브라우저라는건 알만하신 분들은 다 아시리라 생각합니다.
오페라 공식 블로그에 오페라미니의 데이터 절약에 대한 설명글이 올라와있어 간단하게 번역해보았습니다.
(데스크탑의 오페라나 오페라모바일에서는 터보기능으로 들어가있습니다.)

이 글은 Opera Mini and Data Compression 의 번역입니다.

오페라미니는 어떻게 작동하고있죠?

평범한 웹브라우저들과는 다르게, 오페라미니는 모든 컨텐츠를 프록시서버를 통해서 가져옵니다. 이 프록시서버는 웹페이지를 작은 화면에 더 잘 맞도록 재포장하는데, 페이지가 압축되면 OBML(Opera Binary Markup Language)이라는 마크업언어로 핸드폰에 전송됩니다. 이러한 압축과정은 전송시간을 2~3배정도 단축시켜줍니다. 또한 예비처리로 일반 웹페이지의 모바일에 대한 호환성을 높여줍니다.

서버의 재포장과정은 뭔가요?

모바일기기들은 일반적인 PC와는 많은 분야에서 다릅니다. 화면크기가 작기때문에, 가독성을 높이기위해 글자의 처리방식도 다릅니다. 또한 모바일기기 내에서도 숫자키패드, 쿼티키보드, D-pad, 스타일러스, 터치 등등 각각 다릅니다. PC에서 작동하는 많은 것들이 모바일기기에선 작동하지 않습니다. 특히 가장 두드러진 예로 마우스포인터가 없기때문에 프레임스크롤이나 마우스오버같은 액션이 불가하죠. 이처럼 소소한 문제들을 해결하기위해 약간의 포장을 해야할 필요가 있습니다.

데이터가 압축될때 어떤 일이 일어나죠?

먼저 제일 중요한 사실은 데이터압축은 실제로 속도향상을 많이 도와주진 못한다는 것입니다. 중요한것은 첫 반응을 볼때까지의 사용자의 행동으로 결정되는 대기시간입니다. 대기시간을 줄여주는 몇가지 대표적인 방법들이 있습니다.

  • 우리가 가진 클라이언트서버의 프로토콜(연결을 유지시켜주는 역할)이 요청을 보내기 위해 설치되어있습니다. 이것은 사용자의 대기시간을 20~30퍼센트 줄여줍니다.
  • 우리는 페이스북과 구글같은 컨텐츠를 가진 회사들과 파트너관계로 직접적으로 연결되어있습니다. 그뿐 아니라 다른 회사들의 웹서버들이 우리의 서버실 안에 있기때문에 대기시간을 우리의 트랜스코더들이 자료의 부피를 최대한 줄여줍니다.

오페라 미니에서 사용되는 압축과 데이터축소 기술은 다른 방식도 몇가지 있습니다.

  • 서버가 클라이언트에 대한 정보를 유지하고 있습니다. 따라서 정보는 매번 요청하는게 아니라 서버에 한번만 전송되면 되는것이죠.
  • 쿠키는 서버측에서 전적으로 관리합니다. 그래서 데이터가 불필요하게 왔다갔다 할 일이 없습니다.
  • 이미지는 사용하는 기기의 디스플레이 사이즈에 맞도록 축소됩니다. 이것은 효과적으로 크기를 줄임과 동시에 사용자가 웹페이지를 더 보기 좋게 만들어줍니다.

마지막으로 결과데이터는 여러 방법으로 압축됩니다. 보통은 텍스트를 먼저 보내고, 링크, 필수 레이아웃, 그리고 마지막으로 그래픽요소들을 보냅니다. 우리는 데이터를 보낼때 사용자들이 다음에 읽을 부분도 생각합니다.

모든 데이터가 오페라의 서버를 거치면, 보안에 대한 문제는 없나요?

오페라미니는 데스크탑컴퓨터와 같습니다. 사용자가 인터넷 화면을 보는동안 브라우저는 컴퓨터에서 돌아갑니다. 오페라미니는 사용자가 모바일기기로 화면을 보는동안 브라우저는 오페라사의 서버에서 돌아가고 있습니다. 오페라미니의 성공은 서버를 얼마나 안전하게 운영하는데 달려있다는것을 알고있습니다. 그래서 우리는 현재까지 보안에 대한 어떤 사건이나 문제도 없었습니다.

오페라미니의 서버는 모두 노르웨이에 있나요?

몇몇은 노르웨이에 있습니다만, 많은 다른 지역에도 서버가 있습니다. 여러곳에 있는것이 경제적으로 효율적이고 성능면에서도 좋습니다. 대표적으로 아이슬란드에 있는 데이터센터는 미국과 유럽 사이에 있고 지열발전이라는 장점이 있죠.

덧) 한국에서 오페라미니, 오페라터보가 느린 이유가 이해가 되지 않나요?;;;
덧2) 데이터가 가는건 알고있었지만 쿠키까지 전적으로 관리한다니 놀랍군요ㄷㄷ