• 북마크
  • 추가메뉴
어디로 앱에서 쉽고 간편하게!
애플 중고 거래 전문 플랫폼
오늘 하루 보지 않기
KMUG 케이머그

컬럼

사파리 비밀 지키기

본문

사파리 비밀 지키기
Don Melton

Keeping Safari a secret

사파리라는 이름으로 우리가 부르기 훨씬 전 이야기이지만, 우리가 사파리를 개발하면서 보낸 시간 상당수는 아예 우리가 마이크로소프트 인터넷 익스플로러, 정확히는 맥용 인터넷 익스플로러를 개발하는 것으로 위장했었다. 맥용 익스플로러는 1998년 이후 애플이 제공해 왔었으며, 사파리가 데뷔하기 6개월 전에는 모질라 브라우저인 양 행세했었다.

어째서 그랬을까? 어떻게 사파리가 이들 브라우저인 양 만들었을까? 코드와 행동이 그리 다른데도?

스콧 포스탈(Scott Forstall)로부터 받은 명령은 다음과 같았다. 브라우저를 하나 만들고, 브라우저를 만들 팀도 하나 만들라는 것이었다. 하지만 훨씬 더 중요한 임무가 또 있었다. 프로젝트 전체를 완전히 비밀로 하라는 것. 그래서 처음 팀을 구성할 때 그들에게 뭘 할 팀인지 말해줄 수가 없어서 정말 복잡했었다. 여러분의 회사 내 어려움도 말씀해 보시라. 하지만 그것은 다른 주제이다.

그래, 비밀이다. 우리는 당시 조니 아이브의 디자인 그룹이나 몇 년 후의 아이폰 팀처럼 아예 물리적으로 닫힌 공간에 있지 않았다. 그러나 누구를 찾고 있는지 스스로 알지 못 한다면, 우리는 캠퍼스 안에서 찾을 수가 없었다. 설사 찾는다 하더라도 실제로 우리가 사파리를 돌리는 모습을 잡아 내지라도 않는 한 우리가 뭘 하고 있는지는 몰랐을 것이다. 보통은 사무실 문을 잠근 채로 있었다.

말에 대해서는 염려받지 않았다. 분명 포스탈은 나를 신뢰했고, 그를 훌륭한 보스로 만들어준 수많은 장점 중 하나가 바로 그러한 신뢰성이었다. 나 또한 내 팀을 신뢰했다. 그러하지 않았다면 아예 처음부터 고용하지 않았을 것이다. 우리 중 누구도, 애플 내 베타 테스터 누구도 밀고할 사람은 없었다. 물론 베타 테스터는 너무나 수가 적었지만 비난의 대상이 될 수 없었다.

당시는 트위터나 페이스북도 없었다. 애플 내 누구도 자기 일을 블로그에 적을 정도로 멍청하지도 않았다. 내가 두려워할 일이 뭐 있겠는가?

있었다. 서버 로그이다. 정말 무서운 것이 바로 서버 로그였다.

웹브라우저가 웹서버로부터 페이지를 하나 읽어들이면, 브라우저는 유저 에이전트 스트링을 서버로 보낸다. 기본적으로는 이름과 버전, 플랫폼 등의 정보를 전하게 마련인데, 브라우저는 IP 주소 또한 서버로 보내준다. 그래야 페이지를 어디로 돌리는지 서버가 알기 때문이다. 이러한 교환으로 웹이 움직이기도 하지만, 이런 방식으로 돌아가야 누가 어떤 브라우저를 어디에서 사용하는지도 알 수 있다.

이 이야기가 어디로 향할지 이미들 짐작하시잖겠는가? 잠깐만 기다리시라. 더 있다…

1990년대 무렵, 선각자들이 애플에게 클래스 A 네트워크 IP 주소 전체를 부여해 줬었다. 맞다. 애플은 16,777,216개의 정적 IP 주소를 갖고 있다. 그리고 이 모든 주소가 모두 한데 묶여 있다(현재는 "/8 블럭"이라 불린다). 또한 주소가 모두 특정 숫자로 시작한다. 애플의 경우 그 숫자가 17이었다.

IP 주소 17.149.160.49? 애플이다. 17.1.2.3? 맞다. 애플이다. 17.18.19.20? 또 애플이다. 17.253.254.255? 아, 애플이라니까!

당혹 그 자체였다.

프로젝트를 제아무리 CIA 비밀첩보 작전처럼 수행하더라도(충성 맹세와 함께 말이다) 애플 캠퍼스 네트워크상에서 사용할 때 사파리를 "사파리"로 놓아둘 수가 없었다. 그렇지 않으면 웹서버 관리자 누군가가 로그 파일을 보면서 IP 주소를 눈여겨 보고 유저 에이전트 스트링과 무슨 관계가 있는지 알아볼 것이었다. 게다가 스티브 잡스는 2003년 맥월드가 열릴 1월 7일에 깜짝쇼로 사파리를 보여주고 싶어 했다. 나도 그러했고 말이다.

그래서 우리는 애플에 있을 때마다 나의 사파리 유저 에이전트 스트링을 깔끔하게 가렸다. 방금 "나의"라고 말한 이유가 있다. 실제로는 웹킷과 사파리의 코드 몇 개이기 때문이었다. (1) 내가 디자인했다 주장할 수 있고, (2) 여전히 실질적인 소스였기 때문이기도 하다. 하느님께 감사하다. 내 엔지니어링 팀은 나의 다른 수정도 모두 제거하거나 조절했다. 정말 좋은 사람들을 고용한 셈이다.

애플 캠퍼스 네트워크가 아닌, 가령 집에 갈 때마다 우리는 사파리를 수정해서 진짜 유저 에이전트 스트링이 나타나게 했다. 이러한 호환성 테스트를 하기는 해야 했다. 그때 나는 최대한 호환성을 갖도록 스트링을 조절했었다. 그래서 사파리 유저 에이전트 스트링이 그렇게 많은 정보를 담고 있는 이유이다. (예를 들어서 Gecko와 같은 브라우저 엔진 이름인 KHTML도 정보에 들어 있다.

당연히 실제 사파리 유저 에이전트 스트링을 끈 채 출하시킬 수는 없었기 때문에 차선책을 택했다. 특정 날짜 이후에 활성화시킨 것이다. 바로 10년 전 이맘 때 일이었다. 데뷔하기 며칠 전에서야 사파리는 모습을 감추고 있다가 자랑스러운 제품으로 등장했다.

사파리의 데뷔 며칠 전, 너무나 초조한 나머지 난 인터넷 서버 로그를 뒤지면서 잠도 못 잤었다.

Posted on Thursday, January 3, 2013 at 9:04 PM

Keeping Safari a secret

위민복님이 번역한 글입니다.
0 0
로그인 후 추천 또는 비추천하실 수 있습니다.
회원사진
포인트 765,229
가입일 :
2002-05-23 22:53:10
서명 :
KMUG 애플에 대한 모든 것. 케이머그
자기소개 :
2000년 3월 1일 부터 시작 http://www.kmug.co.kr webmaster@kmug.co.kr

최신글이 없습니다.

최신글이 없습니다.

댓글목록 2

향기님의 댓글

향기 121.♡.98.143 2013.08.20 08:23

하하, 그렇겠네요. 비밀리에 개발할래도 브라우저는 서버로그가 남으니..
재밌는 일화로군요. ~_~;;

정명기님의 댓글

_mk_A Class 하나가 통째로........

전체 2,464 건 - 10 페이지
2015.06
08

Apple vs. FBI

Apple vs. FBI 당시 PGP는 강력한 암호체계여서 무기 수출 통제법의 대상으로서 엄격히 관리 받을 만했다. 물론 PGP가 무적은 아니었다(어떤 암호화 체계도 충분한 시간을 갖고 수퍼컴퓨터가 여러 문자와 기호를 다 맞춰 보다 보면 뚫…

2015.05
29

비즈니스위크, 팀 쿡 인터뷰

비즈니스위크, 팀 쿡 인터뷰 Tim Cook Interview: The iPhone 6, the Apple Watch, and Remaking a Company's Culture By Brad Stone and Adam Sataria…

2015.05
22

애플워치에 대한 인상과 관측

애플워치에 대한 인상과 관측 By John Gruber Apple Watch: Initial Thoughts and Observations Tuesday, 16 September 2014 $6,000 짜리 안드로이드 폰을 파는…

2015.05
14

애플은 방어보다 공격을 좋아한다

애플은 방어보다 공격을 좋아한다 Apple proves that moats are for dummies 우리 모두 알다시피 지난 주 애플은 아이폰 두 가지와 지불 서비스(애플페이), 그리고 아이폰이 있어야 작동하는 여러가지…

2015.05
08

애플페이가 성공할 이유: 타이밍

애플페이가 성공할 이유: 타이밍 INFINITE LOOP / THE APPLE ECOSYSTEM Why Apple Pay could succeed where others have had underwhelming results N…

2015.05
01

애플워치가 아이워치가 아닌 이유

애플워치가 아이워치가 아닌 이유 Apple Watch Is And Isn’t… Sep 14, 2014 | Edited by Jean-Louis Gassee 애플워치는 또 하나의 i-디바이스가 아니라 애플 생태계에 붙은 "웨…

2015.04
24

애플페이의 뒷이야기

NYTimes Banks Did It Apple’s Way in Payments by Mobile By NATHANIEL POPPER SEPT. 11, 2014 Timothy D. Cook, Apple's chief executiv…

2015.04
20

롤렉스, 보고 있나?

롤렉스, 보고 있나 Fear and loathing in Rolex-ville 화요일 애플 이벤트를 다룬 온갖 기사와 루머에도 불구하고 필자는 발표된 것 중 가장 혁명적이라는 느낌이 드는 제품에 집중하고 싶다. 다들 간과한…

2015.04
05

아이폰 킬러: 애플워치의 비밀 역사

iPhone Killer: The Secret History of the Apple Watch 아이폰 킬러: 애플워치의 비밀 역사 http://www.wired.com/2015/04/the-apple-watch/ BY David Pierce …

2015.04
03

난 애플이 싫어

난 애플이 싫어 Wednesday, September 10, 2014 I hate Apple! 이번 주 애플 이벤트로, 아이폰과 애플워치가 웹의 주된 이슈가 됐다. 예전 상태로 돌아가려면 며칠은 더 있어야 할 테지만, 물론 가정 내 애…