본문 바로가기

프로그래밍언어/HTML

HTML5이야기- HTML 은 무엇이고 어떻게 발전했을까?


[http://mnworld.co.kr 의 shakej 글입니다]
[구글 개발자가 들려주는 HTML5 활용 서적을 공부하며 쓴 글입니다]

이 글을 읽는 개발자 여러분이라면 아마 IIS 에서 MIME 라는 단어를 보신 적이 있으실 겁니다!
(못 보셨더라도, 앞으로 보시면 되겠죠?^^)

먼저 간단하게 MIME 타입에 대해 이야길 하고 시작을 할께요.

먼저 웹브라우저로 웹페이지를 요청하면, ( 즉, 여러분이 http://naver.com 를 브라우저 인터넷 주소창에 넣고 엔터를 치는 순간 ) 웹 서버는 페이지 내용을 반환하기 전에 먼저 헤더를 전송합니다. 헤더는 페이지 상에 나타나진 않지만, 앞으로 웹 브라우저가 어떻게 해석할지 알려주는 부분이기에 매우 중요해요!
말그대로 머릿부분이란 뜻이죠. ( html 은 헤더와 바디로 나누어져 있습니다 )

Content-Type : Text/html <~ 요부분이 헤더에서 가장 중요한 부분입니다.
text/html 은 페이지의 MIME 타입이라 불러요. MIME 타입은 특정 리소스를 지정하는 유일한 헤더로 브라우저가 이 웹 페이지의 리소스를 어떻게 렌더링 할지 (해석할지) 알려주게 되요. 자바스크립트나 CSS 스타일시트도 개별 MIME 타입을 가지게 되요. 웹은 즉 이런 MIME 타입을 기반으로 움직이게 되요.

따라서 html 페이지, 이미지, 스크립트, 비디오, PDF 문서 등 URL 을 가진 모든 것들은 특정 MIME 타입을 갖고 서비스가 되게 되요!

그렇다면 이 HTML이란 걸 만든 사람이 있었을 텐데, 이 사람도 아마 HTML 을 만들 때 어떤 식으로 동작해야 하고 어떠식으로 구성할지 고민을 했겠지요? 하지만 사람이 만들었기에, 많은 사람들이 사용하다보니 여러가지 불편함도 있고 여러가지 문제점도 발견되자 표준이란 것이 생겨나기 시작합니다.

 이 HTML 이 점점 발전하게 되는 과정을 담은 메일 수신,회신 내역서들이 제가 참고한 서적엔 나와있는데, 꽤나 흥미롭네요. 개발자들간에 표준을 제정하며 낸 아이디어 제안과 답변이 있는데, 이런 내용들은 직접 책을 사서 보시길바래요^ㅜ^

 HTML 이 발전하면서 HTML 코드는 에러가 있더라도 브라우저 상에서 치명적인 에러로 생각하지 않고 띄웁니다. 예를 들어 헤드 부분의 title 부분이 그렇죠. 코딩을 할 때 Title 코드를 치지 않아도 브라우저는 그냥 웹페이지를 표시하게 되죠. 때문에 장점도 있겠지만, 현재 인터넷 상에 존재하는 99% 의 웹사이트들이 한개 이상의 에러를 가지고 있다고 합니다. 이 때 나온 것이 XML 인데, XML은 관대했던 브라우저 관행을 깨고 사소한 에러라도 절대 용납할 수 없어 ! 라며 처리를 중단시키고 사용자에게 에러메세지를 보냅니다.

 xHTML 의 경우는 XML 와 같이 사소한 오류도 치명적인 오류로 인식을 합니다. 하지만 그럼에도 불구하고 현재 xHTML의 코드를 사용하면서 에러없이 뜨는 경우는 xHTML 의 MIME 타입인  application/xhtml+xml 을 사용하지 않고 text/html 을 사용하기 때문이죠. 따라서 관대한 'HTML 파서'로 이 문서를 파싱하게 됩니다. 

 
 일단 오늘까진 간단하게 여기까지 하고 다음시간엔 HTML 5에 대해 조금더 자세히 이야기 해보도록할께요.