당신의 웹 개발을 편안하게.
안녕하세요. Comfort입니다.
이번 게시글은 HTML이 무엇인지와 버전 별 역사에 대해서 적어보고자 합니다.
1.HTML이란?
HTML은 웹 페이지의 구조를 브라우저에게 알려 줍니다.
여기서 웹 페이지의 구조란 마크업(Markup)된 텍스트를 의미합니다.
이 마크업된 텍스트는 제목, 단락, 이미지, 링크 등 다양한 요소들을 포함하여 웹 페이지의 콘텐츠를 정의하고, 각 요소의 계층적인 관계를 설명합니다.
HTML 태그를 통해 브라우저는 웹 페이지를 어떻게 렌더링 해야 하는지 이해하고, 사용자는 이를 시각적으로 확인할 수 있습니다.
HTML 중 ML에 관한 즉, Markup Language에 관한 설명이었습니다.
그럼 HT, Hyper Text는 무슨 의미일까요?
HyperText란 일반적인 텍스트와 달리 링크를 포함하여 다른 문서나 웹페이지로 이동할 수 있는 기능을 갖춘 텍스트를 뜻합니다. 즉, 웹페이지에서 우리가 클릭하는 하이퍼링크(링크)를 통해 다른 페이지로 이동할 수 있는 것이 바로 하이퍼텍스트입니다.
정리해 보자면, HTML(HyperText Markup Language)은 이러한 하이퍼텍스트 기능을 포함한 마크업 언어로, 웹페이지의 구조와 링크 기능을 함께 정의하는 언어입니다.
2. HTML의 역사
HTML의 역사를 소개할 때 큰 틀에서의 내용만 소개하겠습니다. 너무 딥하게 소개하면 시리즈로 내야 할 수준의 내용이네요. 쩝.
앞으로 소개될 표준 관련 내용은 대부분 W3C(World Wide Web Consortium), WHATWG(Web Hypertext Application Technology Working Group)에서 정의한 내용입니다. 웹 표준에 관심 있는 분들은 위 두 사이트를 이용하시면 많은 정보를 얻을 갈 수 있을 겁니다.
2-1 HTML의 탄생 및 HTML 1.0
1989년까지 인터넷은 주로 대학, 연구소, 군사 기관에서 사용되었습니다. 이 시점까지는 인터넷은 존재했지만, 우리가 아는 월드 와이드 웹(World Wide Web, 이하 웹으로 부름)은 없었습니다.
그러던 중, 1990년대에 연구자들이 전 세계적으로 정보를 쉽게 공유할 수 있도록 하는 것을 목표로 유럽 입자 물리학 연구소의 연구자 팀 버너스 리(Tim Berners-Lee)가 HTML, HTTP(정보를 주고받는 규칙), URL(웹 주소 체계)를 정의하고 웹을 만들었습니다.
이때 개발된 HTML은 HTML 1.0으로 불립니다. 당연한 말이지만, 현재 우리가 사용하고 있는 HTML 최신 버전보다 매우 제한적인 기능만 제공되었습니다.
2-2 HTML 2.0
HTML 2.0 버전이 처음으로 HTML 버전 중, 공식적인 표준으로 지정되면서, 이전 버전보다 다양한 기능이 추가되었죠. 특히 파일 업로드 기능, 표(table) 지원 등이 새롭게 포함되었습니다.
인터넷이 대중화되면서 HTML도 많은 사람들에게 알려졌지만, 동시에 여러 한계도 드러났습니다. 특히 1990년대 중반, 웹 브라우저 간의 호환성 문제가 심각했죠. 같은 웹사이트라도 브라우저마다 다르게 표시되는 문제가 있었고, 개발자들은 인터넷 익스플로러(IE)와 넷스케이프(Netscape)용 페이지를 각각 따로 만들어야 하는 번거로움을 겪었습니다 (한 번만 정상적으로 개발하는 것도 힘든데 두 번이라뇨..).
2-3 HTML 3.0
HTML 2.0이 유행하던 시절, HTML의 다음 버전인 HTML 3.0 버전이 릴리즈 됐습니다. 안타깝게도, 브라우저 개발사들은 제각기 독점적인 기능들을 무분별하게 추가하게 되고, 실용적인 이유로 HTML 3.0을 폐기했다 합니다, 그리곤 이 HTML 3.0 버전을 표준화 한 버전이 HTML 3.2 버전입니다.
2-4 HTML 3.2
HTML 3.2 버전은 브라우저 간의 차이를 줄이고, 보다 일관된 웹 환경을 제공하는 것을 목표로 했습니다.
HTML 3.2 버전은 글자를 굵게 표시하는 <b>
태그나 글꼴과 색상을 변경할 수 있는 <font>
태그가 이 버전에 추가되었습니다. 이를 통해 웹페이지의 디자인을 더욱 쉽게 꾸밀 수 있었죠.
2-5 HTML 4.0
이 버전에서는 Strict, Transitional, Frameset 세 가지 모드가 추가되었습니다.
- Strict 모드: 웹 표준을 엄격하게 따라야 하는 방식으로, 권장되지 않거나 비표준 태그(HTML 공식 표준에 포함되지 않은 태그)는 사용 불가
- Transitional 모드: 예전에 쓰이던 태그들도 계속 사용할 수 있도록 허용하면서, 새로운 웹 표준도 적용할 수 있게 만든 문서 유형, 즉, 완전히 새로운 방식으로 바꾸기 어려운 기존 웹사이트들도 문제 없이 작동할 수 있도록 배려한 형태
- Frameset 모드: 웹페이지를 여러 개의 영역으로 나누어 표시할 때 사용하는 방식으로, 주로 화면을 분할하여 여러 개의 웹 문서를 한 화면에서 보여줄 때 사용 (ex. 메뉴바 고정, 광고 배너 고정 같이 특정 영역을 고정하고 본문만 스크롤 가능토록 한 것)
근데, 이 Transitional 모드는 원래 HTML 3.2에서 4.0으로 넘어가기 위한 임시 해결책이었을 뿐 새로운 문서를 Transitional로 작성하는 것은 잘못된 방식이라고 합니다.
그 이유가 HTML 4.0에서 HTML 3.2 코드를 더 쉽게 업그레이드할 수 있게 Transitional 모드를 추가했는데, HTML 3.2에서 사용되지 않는 기능(3.0 버전에서 무분별히 추가된 기능 등)이 여전히 많이 포함되어 있었기 때문에, Transitional 모드를 사용하여 새 코드를 작성해서는 안 된다는 평이 있었습니다.
2-6 HTML 4.01
HTML 4.01 버전에서는 웹 페이지의 디자인을 직접 조정하는 태그들(ex. <font>
, <center>
, <b>
)이 비권장 처리되었습니다. 그 이유는 HTML은 문서의 구조를 정의하는 역할을 해야 하는데, 디자인까지 포함하면 유지보수가 어려워지기 때문이죠. 따라서 CSS(CasCading Style Sheet)로 디자인을 관리하도록 권장하는 버전입니다.
2-7 XHTML 1.0, 1.1, 2.0(2.0은 릴리즈 X)
XHTML은 HTML에 XML을 뒤덮어버린(?) 버전입니다.
XML은 eXtensible Markup Language의 약어인데, 이름만 봐도 뭔가 확장 가능한 마크업 언어인 거 같죠? 맞습니다. XML은 미리 정의된 태그가 아닌 커스텀 태그를 정의해 사용할 수 있다는 장점을 가진 마크업 언어입니다.
XML은 HTML과 달리 데이터 전송 및 표현에 초점이 맞춰져 있습니다. 데이터를 정확하고 일관되게 저장하고 교환하기 위해 만들어진 언어이어서 그런지 문법이 엄격하게 정해져 있습니다.
XHTML은 이러한 XML의 특징 및 장점을 HTML에 합친 언어라고 볼 수 있는데요. 추후 HTML 5.0이 릴리즈 되고 XHTML 버전들은 잘 사용하지 않게 되었습니다.
2-8 HTML 5
우리가 잘 알고, 그리고 제일 많이 사용하는 버전인 HTML5입니다.
HTML5는 2008년 1월 22일에 처음 공개되었으며, 이후 개선을 거쳐 2014년에 W3C(웹 표준 기구)의 공식 권장 사항이 되었습니다. 표준화 된 지는 얼마 안 됐죠?
HTML5는 기존 버전들과 달리 복잡한 웹 애플리케이션을 쉽게 만들 수 있도록 다음과 같은 다양한 기능을 추가했습니다.
- 멀티미디어(비디오, 오디오) 지원
- 모바일 환경 최적화
- 로컬 스토리지, 캔버스, 위치 정보 등 웹 애플리케이션 기능 강화
- SVG, MathML 같은 그래픽 및 수학 공식 표현 기능 추가
HTML5가 나오면서 웹은 기술적인 측면에서 전성기를 맞지 않았나 생각이 듭니다.
2-9 HTML Living Standard
XHTML 릴리즈 이후, WHATWG는 HTML을 지속적으로 발전시키는 “HTML Living Standard”라는 이름을 사용하기로 했습니다. 반면, W3C는 기존 HTML5를 공식 표준으로 유지하려 했지만, 시간이 지나면서 WHATWG와 W3C 간의 HTML 사양(내용)에 차이가 발생하기 시작했습니다. WHATWG에서는 지속적으로 HTML을 발전시켜 나갔지만, W3C의 HTML5 표준은 업데이트 되지 않아 점점 뒤처지게 된 것이죠.
결국 W3C는 HTML5.2 버전을 마지막으로 더 이상 HTML 표준을 유지하지 않기로 했고, 이제 HTML 표준은 WHATWG에서 관리하는 HTML Living Standard만 남게 되었습니다.
이렇게 HTML이 무엇인지와 버전 별 역사에 대해서 알아 보았습니다.
답글 남기기