03
8월
2007

웹표준에 대한 생각

웹표준이라는 단어가 업계에 이슈화 된 계기는 개인적으로 “FireFox와 Windows Vista의 출현“이라고 생각합니다.

MS에 종속적(?)이던 우리나라에선 디자인과 코딩도 항상 IE 위주, 그리고 IE에서만 동작하는 ActiveX(COM) 위주로 웹사이트를 제작해 왔죠. Mozilla 계열, 또는 Mac의 Safari 같은 웹브라우저를 사용하는 유저는 인터넷 사용자의 0.1%도 안되는 극소수였기 때문에 이들의 불평은 아예 무시되어 온 것이 사실입니다.

하지만 해외에서 급속하게 점유율을 늘려가는 파이어폭스의 존재로 인해, 우리나라도 컴퓨터를 조금 한다는 1~20대부터 파워유저에 이르기까지 파이어폭스를 사용하는 사람이 계속 증가추세에 있고, 제대로 보이지 않는 국내 대다수의 웹사이트로 인한 불평의 목소리도 점점 커졌습니다.

그리고 Windows Vista의 출현… Windows Vista의 강화된 보안 때문에 일반 ActiveX의 경우 Admin(관리자)의 권한이 없으면 설치되지 않습니다. 그래서 2006~7년 초까지 ActiveX에 의존하여 서비스되었던 금융권 웹사이트 쪽이 한바탕 난리가 났었죠? 오죽하면 정부에서 Windows Vista를 쓰는 것을 연기하라고 권고를 할 정도로… 지금은 어느정도 해결이 되었지만, 역시 Windows XP 보다는 불편한 것은 사실이죠.

시장 상황이 이렇게 변해온 가운데 우리나라 관련 업계에서도 “웹 표준”에 대한 논의가 활발히 이루어진 걸로 알고 있습니다. 하지만, 웹표준이 처음 화제가 되었을 때, 왜 웹표준을 지켜서 코딩을 해야하는가 하는 이유는 단순히 TABLE태그의 존재에 있었다고 생각합니다. TABLE태그 때문에 웹표준이 아니라고 하고 단순히 다른 웹 브라우저에서 똑같이 보이는 것(크로스 브라우징)이 웹표준이라고 알려지는 경우가 많았습니다.

뭐 이제까지 경험으로 느낀 개인적인 것들이 대부분이지만, 나름대로 웹표준이 왜 필요한가 생각해 보았습니다.


1. 코딩을 단순화시킬 수 있다.

코딩을 최대한 단순화시킬 수 있습니다. 기존의 테이블로 레이아웃을 짠 경우엔 TABLE태그가 3~4겹, 심하면 그 이상으로 겹쳐져서 코드의 가독성이 엄청나게 떨어지게 되죠. 또한, 이러한 코딩은 웹브라우저의 렌더링 과정에서 심한 부담이 되고 많은 CPU파워가 필요합니다.

이를 웹표준을 이용하여 코딩하면 렌더링할 때 CPU의 부담도 줄일 수 있고, 코드의 가독성과 함께 유지보수의 편리성도 얻을 수 있다. CPU 부담을 줄이면, 열도 적게 나고 전기도 절약되기 때문에 지구 환경 보호에도 작게나마 한몫 할 수 있답니다~

2. 태그들의 원래 역할을 찾을 수 있다.

예전에 레이아웃에 많이 사용되는 태그인 TABLE태그는 말 그대로 “어떤 행열을 가진 형태의 데이터를 표현하기 위한 표”를 그리는 태그입니다. 하지만 사이트를 구축하다 보면 태그들이 용도에 맞지 않게 사용되는 면이 많았는데, 웹표준 코딩을 사용하면 이러한 용도를 벗어난 태그를 사용할 일이 많이 줄어들게 됩니다.

즉 표에는 TABLE, 순서가 있는 목록은 DL, 문단은 P, 제목은 H를 사용하여 원래 태그의 역할을 그대로 사용할 수 있다는 것이죠.

3. IE이외에 모든 브라우저에서 같은 화면을 볼 수 있도록 할 수 있다.

웹 표준을 지킨다면, 웹 표준 코드를 지원하는 모든 브라우저에서는 같은 화면을 볼 수 있습니다.

W3C에서 정한 권고안인 웹표준을 가장 잘 지키는 브라우저는 “오페라“라고 하더군요. 국내 사용률은 좀 낮긴 합니다만, 매니아들 사이에선 애용되고 있는 듯 합니다. 그 다음이 유명한 “파이어폭스“입니다. 시장의 점유율을 바탕으로 마치 자신이 표준인 것처럼 사용되던 IE는 솔직히 웹표준을 가장 지키지 않는 브라우저 중의 하나입니다.

하지만 IE같은 경우도 현재 IE7이 나오고 (이것도 완벽히 표준을 지원하지는 않는다고…) 2008년 초 발표예정에 있는 IE8에서는 완벽하게 표준을 지킬 것이라고 합니다.

다만, 웹표준의 목적은 크로스 브라우징이 아니라는 것에 주의할 필요가 있습니다. 웹표준을 지키면 자동으로 크로스브라우징이 덤으로 딸려온다는 거지, 절대 크로스브라우징 때문에 웹표준을 지키는 건 아니랍니다.

4. 구조와 표현이 완전히 분리될 수 있다.

기존 사이트 개발 코드를 살펴보면 코드 내에 표현을 위한 TABLE태그나 IMG태그 등이 무분별하게 사용되고, 그 사이에 개발자들이 코드를 해당 위치에 아슬아슬하게 끼워 넣는 경우가 많았습니다.

하지만, 웹표준을 지키게 된다면 이러한 디자인과 개발에 들어가는 코드를 완전히 분리하는 것이 가능합니다. 모든 디자인 요소는 CSS에서 처리하는 것도 가능하기 때문에, 만약 디자인이 변경되면 개발 프로세스와는 상관없이 CSS만 수정하면 된다는 거죠. 물론 개발자 입장에서도 베이스 HTML파일의 구조가 매우 간단해지기 때문에 프로그래밍 하는 것이 과거에 비해 편해질 겁니다.

5. SEO (Search Engine Optimization)

저도 최근에 알게 된 것이지만 검색엔진에 최적화하자는 목적이 있습니다. 시맨틱 웹과 관련된 것이죠. 예를 들어 H1~H6태그는 문서의 제목과 계층을 나타내는 태그이며, 검색엔진에서는 이 태그를 참조하는 경우가 많다고 합니다.

예전에는 메타태그만 훑어내는 로봇이 돌아다니는 경우가 많았는데 요즘 것들은 문서 전체를 다 읽어가는 모양입니다. 검색엔진의 결과에서 보셨죠? 미리보기 하면 어느정도 문서의 내용이 다 나오는거. 그래서 구조화에 맞게 H1에는 가장 큰 주제(예를 들면 홈페이지의 이름) 부터 H2에는 1depth메뉴, H3에는 2depth메뉴, H4부터 본문의 작은 타이틀을 순서대로 나열한다면 검색엔진의 로봇은 그 문서를 정확히 자신의 DB에 분류할 수 있고, 사용자가 검색엔진을 사용할 때 정확한 결과를 가져올 확률이 높아지는 겁니다.


뭐랄까.. 상당히 긴 글이 되어버렸습니다. ^^;; 웹표준에 대한 현재로서의 제 생각은 이렇습니다만, 기술은 항상 발전하는 거죠. 앞으로는 어떤 기술이 웹표준이 될 수 있을까요? 그건 차차 제 지식을 업데이트(?) 해야겠지요~

그러니까… 다들 웹표준 지킵시다~!!

You may also like...

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

%d 블로거가 이것을 좋아합니다: