IT/Web Dev | Posted by 철규님(최규철) 2011. 2. 8. 22:25

[HTML5/CSS3] HTML5란?



인터넷이 일상화되고 사용자의 요구가 증가함에 따라 웹 문서에 텍스트, 표, 이미지 등을 삽입하는 기능만 가진 HTML4는 기능적 한계를 보이게 되었고, 늘어나는 사용자의 요구를 충족시키기 위해 각종 Plug-in 형태의 프로그램, AJAX 프로그래밍 등이 도입된다.

물론 HTML4가 1999년 표준이 제정된 이후, HTML4의 한계를 극복하기 위한 노력이 없었던 것은 아니다. W3C에서는 XML과 HTML을 결합하여 XHTML 규약을 만들었지만, XHTML은 늘어나는 사용자 욕구를 충족시키지 못하고 사장되어 버렸다.

Plug-in과 AJAX 등의 도입으로 인터넷 환경은 단순한 정보를 표시하던 '웹'의 수준에서 특정 기능을 수행하는 '웹 어플리케이션'의 수준으로 발전하게 되지만, 이를 위해 사용자는 추가의 플러그인 프로그램(ActiveX, Flash 등)을 설치하는 불편함을 감수하여야만 했고, 이러한 플러그인 프로그램이 지원되지 않는 플랫폼, 브라우저 등에서는 해당 웹페이지를 볼 수 없거나 웹 어플리케이션을 사용할 수 없는 문제가 생겼다.
이에 일부 브라우저 업체들이 모여 새로운 HTML 표준안을 만들기 시작했고, 이것이 W3C에 흡수되어 HTML5에 대한 정식 표준안이 만들어지게 된다.

HTML5가 아직 정식으로 완성된 표준 규약이 아니지만 현재 관심을 받고 있는 이유 또한 그 필요성을 절실히 느낀 브라우저 업체들로 부터 시작된 표준안이라는 점이다. 때문에 아직 표준안이 완성되지 않았음에도 불구하고 많은 브라우저에서 HTML5를 지원하고 있다. 현재 HTML5를 지원하는 브라우저로는 IE9 Beta, ChromeFirefox, Opera, Safari 등이 있어, 일반 사용자가 사용하고 있는 대부분의 브라우저에서 지원이 가능하다.

플러그인 프로그램이 없는 웹 환경을 목표로 한 까닭에 HTML5는 기존의 텍스트, 표, 이미지 등을 표시하는 기능에 동영상을 재생하는 태그가 정의되어 있고, 웹 어플리케이션 작성을 위한 API까지 포함하고 있다.

HTML5에서는 HTML4와 비교하여 많은 변화가 일어났는데 대락적인 변화는 아래와 같다.

  • 새로운 태그의 정의
  • 기존 태그에 새로운 속성 정의
  • 태그의 의미 변경
  • 태그의 사용 중단
  • 일부 태그의 미사용 권고
  • 사용이 중단된 속성
  • 웹 어플리케이션 제작을 위한 API

태그나 속성에 대한 변경 사항은 아래 링크를 참조하면 정확한 정보를 얻을 수 있다.

HTML5: The Markup Language Reference
Unofficial Editor’s Draft 21 January 2011

변경의 주된 흐름을 살펴보면 HTML 문서를 구성하는 태그 자체가 그 의미를 가져서 사용자에게 보여지는 화면 뿐만 아니라 HTML 코드 자체도 논리적 의미를 가지게 되었다. 예를 들어 기존의 HTML 문서에서는 문서 구분을 위해 주로 <DIV></DIV>태그를 사용하고 각 태그에 ID를 할당하여 논리적 의미를 부여하였다면, HTML5에서는 헤더에 사용되는 <HEADER></HEADER> 태그, 본문 글에 사용되는 <ARTICLE></ARTICLE> 태그, 푸터에 사용되는 <FOOTER></FOOTER>태그 등이 사용된다.

또한 눈 여겨 볼 부분이 '웹 어플리케이션 제작을 위한 API 제공'인데 아래 API들은 눈여겨 볼만하다고 생각된다.

  • Canvas 2D: 웹 브라우저에서 드로잉 기능을 제공하는 API
  • Web SQL DB: 웹 브라우저 내장 DB를 제공하는 API
  • Web storage: 웹의 내용을 사용자 컴퓨터에 저장하는 기능을 제공하는 API

HTML5의 도입으로 기존의 웹 환경은 단순히 정보를 보여주기만 하던 단계에서 사용자와의 상호 작용을 가능하게 하고, 모든 환경에서 일관적인 웹 사용 환경을 제공하는 단계로 발전하게 될 것이다. 

댓글을 달아 주세요