요기보드3   필수기초 선택과목 요기보드 그누보드 로그인

HTML 과 CSS


웹표준에 대한 오해와 진실

이번 글은 여러 가지 책과 블로그 등의 자료를 읽고 판단한 본인의 생각이므로 틀린 부분도 있을 수 있어.
내가 웹브라우저 전쟁에서 직접 싸웠던 사람도 아니고, 역사학자도 아니기 때문이야.
그 점 감안하고 읽어 주시기 바래.

많은 블로그나 기사, 카페의 토론 등에서 우리나라 웹의 표준화에 대한 걸림돌로 '인터넷 익스플로러6.0'을 꼽는다.
마치 익스6.0이 웹표준을 방해하고 있는 것처럼…. (앞으로 인터넷 익스플로러를 줄여 간단히 '익스'라고 부른다. 네티즌들이 일반적으로 부르는 것처럼….)
그런데 전편의 [웹표준에 대한 역사]를 보면 익스6.0은 웹표준을 지킨 브라우저로 소개하고 있는데 어찌 된 것일까?
실상은 이렇다.

'익스플로러6.0'은 웹표준을 아주 잘 반영한 브라우저가 맞다. 다만 버그가 좀 많았을 뿐.
그리고 익스6.0 당시의 웹표준 스펙과 요즘의 웹표준 스펙은 다르다. (당연히 더 정교하고 세밀해졌다.)
익스5.0 때부터 경쟁자였던 넷스케이프보다 앞서 웹표준화 단체인 W3C에서 권고한 CSS 지침을 수용하여 구조(Html)와 표현(CSS)을 분리한 웹페이지들을 적절히 표현할 수 있었던 최초의 브라우저가 바로 익스6.0이라고 할 수 있다.

문제는 사실 익스6.0에서 가장 잘 보이도록 만들어진 웹사이트에 있는 것이다.
넷스케이프4.0와 익스4.0까지의 전쟁 시기에 웹사이트 개발자와 디자이너들은 누구 장단에 춤을 춰야 할지 몰라서 양쪽 브라우저에 모두 맞는 각종 편법으로 골치 아파했는데 익스6.0 시대에는 그럴 필요가 없어지게 되었다. 즉, 승자인 익스6.0에서만 잘 보이면 95% 사용자들을 만족시키게 되었으며, 우리나라에서는 99.9%를 만족시킬 수 있게 된 것이다.(Winner takes All)
그런데 브라우저 간의 전쟁 와중에 산전수전 다 겪은 고수의 웹개발자와 디자이너들은 CSS라는 새로운 개념을 받아들이지 않고, 계속 이전의 야전 방식으로 개발을 해 나갔고 신병 역시 고참들이 쓰는 방식대로 배워 나가게 된 것이다.
(대표적인 것이 바로 익스, 넷스케이프 등 모든 브라우저에서 화면이 깨지지 않게 보여 주는 테이블을 이용한 레이아웃이다.^^)
거기에 익스6.0의 버그로 인해 제대로 표현되지 않는 페이지들은 버그를 피하는 각종 편법(좋은 말로는 팁…. ^^)으로 메워 나가게 되었다. 즉, 승자가 결정되자 다시 호환을 위한 웹표준의 필요성이 다시 사라지게 된 것이다.

이렇게 익스가 승리한 이후에 만들어진 웹페이지들은 웹표준을 지키든 아니든 익스6.0에서 잘 보이면 되었고, 거의 대부분 웹페이지들이 고참들의 방식을 따라가면서 비표준으로 생성되었다.
아마도 웹브라우저가 익스만 홀로 살아남았다면 이 현상은 더 오래갔을지도 모른다.
그러나 웹브라우저에는 '오페라'도 있었고 맥의 '사파리'도 있었다. 또 전쟁에서 패한 넷스케이프는 '파이어폭스'라는 이름으로 다시 태어났다.
이들 다른 브라우저들이 익스의 버그까지 수용해 가며 따라 해야 할 필요는 없었을 것이다.
결국, 파이어폭스에서 보는 익스 전용페이지들은 깨지거나 이상하게 보이는 경우가 나타나기 시작했고, 익스의 숨겨진 버그들이 하나씩 문제로 나타나기 시작한 것이다.
웹브라우저 전쟁 이후 마땅히 익스와 대적할 무기가 없던 1%의 저항군들은 2004년 '파이어폭스'가 출시되자 열광하게 되고 익스 전용 웹페이지가 아닌 모든 브라우저에서 똑같이 볼 수 있는 웹페이지를 만들자고 주창하게 되는데 이때 다시 써먹은 주제 역시 아이러니하게도 '웹표준'인 것이다.
사실 이들의 공격대상은 익스가 아닌 익스6.0으로 만들어진 수많은 웹페이지들이었을 것이다.

아~ ActiveX 문제가 남아 있군.

대부분 ActiveX가 웹표준을 지키지 않으니 퇴출시켜야 한다는 주장으로 아는 사람들이 많은데 이것도 오해야.
물론 웹표준의 개념에 모든 웹브라우저에서 동일하게 표현할 수 있어야 한다는 크로스브라우징(Cross Browsing)으로까지 크게 해석한다면 맞는 말이지만 ActiveX는 웹표준을 주관하는 W3C 기관에서 정의하는 웹표준에는 포함되지 않는 내용으로 오직 익스플로러 사용자들 위한 추가기능이야.

ActiveX는 익스3.0부터 도입되기 시작한 사실 아주 오래된(?) 기술이라 할 수 있어.
처음에는 프로그래머들 사이에서 웹브라우저만으로는 처리하지 못하는 모든 것을 해결해 주는 만능 해결사로 엄청난 호응을 받았지만 웹사이트에 접속하면 자동으로 실행되는 것을 악용한 악성코드와 바이러스 전파의 일등 공신이 되어 버렸어.
급기야 MS에서조차 ActiveX의 사용을 자제해 달라고 요청하고 자동실행을 막는 패치를 내놓기에 이를 정도가 되어 버렸어.
결국, ActiveX는 결과가 나빠서 웹표준을 무시한 것이라는 오해를 받게 된 것 아닐까 싶어. 사실 웹표준과는 별 관계없는 익스를 위한 추가기능이었는데, 어쨌든 이제 ActiveX는 거의 퇴출이 되고 있는 분위기야.

반면, 플레쉬(Flash)는 재수가 좋았어.
플레쉬 역시 ActiveX와 다를 바 없이 ‘플레쉬뷰어’를 설치해야 사용할 수 있는, 개념적으로는 ActiveX와 다를 게 없는 기술이야.
그런데 플레쉬는 익스플로러뿐만 아니라 파이어폭스, 사파리 버전까지 모두 지원하는 친절함(?) 때문인지 한동안 마치 정통 웹표준 같은 융숭한 접대를 받았어.
분명한 것은 플레쉬도 웹표준과는 관계없는 추가기술 중 하나일 뿐이라는 것이야.
그런 플래쉬도 Html5가 나오면서 다시 퇴출운동이 벌어지고 있어. 세상은 돌고 돌아.

목차제 목조회
0장 142
1장 106
87
65
2장 84
60
66
3장 68
71
4장 62
5장 59
65
6장 78
73
7장. 69
8장. 66
68
61
9장 61
74