[HTML] HTML이란?

Eunjae Tony Lee·2022년 12월 20일
0

HTML

목록 보기
1/1

1분 요약

HTML은 '하이퍼 텍스트'라는 형태의 자료를 '마크업'이라는 방식으로 서술하는 데에 사용하는 언어입니다.

HTML은 무엇일까요?

인터넷에서 웹 서핑을 많이 해보셨거나, 조금이라도 웹에 관심이 있으신 분이라면 HTML이라는 것을 들어본 적이 있으실 겁니다. HTML이 정확히 무엇인지는 모르더라도 여러분은 이미 숨 쉬듯이 HTML을 이용하고 있습니다.

집에서 데스크톱으로 검색을 하거나, 스마트폰 앱을 이용하거나, 유튜브 동영상을 보고 심지어는 게임을 할 때에서도, 그것이 웹에서 제공되는 정보를 담고 있다면 그 안에는 어떤 형태로든 HTML이 들어있습니다.

그리고 사실은, 지금 보고계시는 이 웹페이지를 작성하는 데에도 HTML이 사용되었습니다.

그러면 HTML은 무엇이고 어떤 기능을 하길래 그렇게 여러 곳에 사용되는 것일까요?
HTML이라는 이름 안에 이미 그 답이 들어있습니다.

HTMLHyper Text Markup Language의 준말입니다.

조금 풀어서 말하자면 HTML은 '하이퍼 텍스트'라는 형태의 자료를 '마크업'이라는 방식으로 서술하는 데에 사용하는 언어입니다.

이 글에서는 기존에 우리가 익숙하게 사용하던 형식의 문서와 하이퍼텍스트 문서가 어떻게 다른지, 마크업이란 무엇인지 살펴보면서 HTML이 무엇이고 어떤 일을 하는 데에 유용한 지 알아보겠습니다.

1. 문서

여러분은 글을 써보신 적이 있으신가요? 글은 우리가 원하는 내용을 기록하고 전달하는 데에 가장많이 사용하는 방법입니다.
여기에서 문서(document)는 특정한 주제에 대한 내용을 완결된 형태로 기록해놓은 정보의 단위입니다. 종이에 기록한 문서를 모으면 책이 됩니다. 종이책은 아주아주 오랫동안 널리 사랑받는 문서 기록방식이었습니다.
이 를 읽고 해석해서 원하는 내용을 얻는 작업입니다. 그 형식이나 매체가 달라졌을 뿐, 넓게 보면 우리는 여전히 글을 통해 정보를 기록하고, 전달하며, 습득합니다.

2. Hyper Text

전통적인 방식으로 작성된 문서는 저자가 의도하고 작성한 순서대로 읽어야만 전체 정보를 습
득할 수 있습니다.
또, 내가 특정한 부분만을 다시 읽고 싶다고 해도 그 부분에 도달하기 위해
서는 페이지와 페이지를 넘기고 일일이 눈으로 확인하는 과정을 거쳐야만 합니다. 이렇게 선형적 구조를 가진 문서는 원하는 정보만 찾아내기까지 다루어야만 하는 정보량이 지나치게 많아 정보를 빠르게 검색하고 선택하는 작업이 중요해진 현대에는 어울리지 않게 되었습니다.

인터넷과 웹, 하이퍼텍스트, HTML의 창시자인 팀 버너스 리는 선형적 문서가 가진 문제점들을
‘하이퍼링크’ 라는 개념을 도입해 해결하고자 했습니다. 보르헤스의 단편『두 갈래로 갈라지는 오솔길들의 정원』에서 영감을 받았다고 전해지는 하이퍼링크는 한 문서에서 다른 문서에 즉각적으로 접근할 수 있게 해주고, 독자가 직접 클릭이라는 방식을 통해 문서를 읽는 방식을 결정하도록 해줍니다.

하이퍼링크가 가장 전형적으로, 그리고 가장 실용적으로 사용되고 있는 곳은 바로 검색엔진입니다. 대부분의 검색엔진에서 우리는 하이퍼링크들로 구성된 ‘하이퍼텍스트’를 검색결과로 받아보고, 그 비선형적인 구조의 문서 속에서 우리가 원하는 정보들만을 선택해 사용합니다. 그 때문에 우리가 접하는 대부분의 하이퍼텍스트는 컴퓨터상에서 읽고 쓰는 디지털 문서로 구현된 것들입니다. 그러나 종이로 된 매체나 음악, 영화, 게임 등에서도 하이퍼텍스트의 비선형적 구조를 도입한 시도들이 많이 있습니다. 대표적인 것이 게임북이나 인터랙티브 무비 같은 것들입니다.

하이퍼텍스트가 도입되면서, 작성자가 문서를 작성할 때 고려해야할 것들도 상당히 달라졌습니
다. 기존의 글이나 책을 저술할 때는 문서의 내용과 전개방식이 중요했다면 하이퍼텍스트는 문서 내 요소들 각각이 얼마나 체계적으로 객체화되어있고 효율적으로 검색될 수 있는지 까지를 신경써야합니다. 하이퍼텍스트를 작성하기 위한 언어에는 여러 가지가 있지만 현재 가장 널리 사용되는 언어가 바로 HTML이고, HTML로 작성된 문서를 전송하기 위한 통신 규약으로 HTTP (Hyper Text Transfer Protocol)를 사용하고 있습니다. 기존에는 이 HTML을 사용하는 방식도 여러 갈래가 존재했지만, 월드와이드웹 컨소시엄이 웹 표준과 가이드라인을 확립하면서 점차 통합되어왔습니다.

이때 특히 문서 객체 모델, DOM (Document Object Model)이라는 것을 사용하여 문서를 구조화합니다. DOM은 우리가 작성하는 프로그램이 HTML로 작성된 문서에 접근하고, 내용이나 서식을 수정할 수 있도록 도와주는 인터페이스입니다. 요즘에는 HTML 문법이 곧 DOM 문법과 마찬가지이기 때문에 여기에 대해서는 이후에 자세히 다루도록 하겠습니다.

3. Markup Language

4. HTML

5. HTML은 프로그래밍 언어가 아닙니다!

앞서 잠시 설명한 HTML과 하이퍼텍스트의 혁신적인 장점 때문에 ‘HTML은 정말 훌륭한 프로그래밍 언어겠군!’이라고 여기실지도 모르겠습니다. 결론부터 말씀드리자면, HTML은 프로그래밍 언어가 아닙니다. 더 정확히 말하면 HTML은 하이퍼텍스트를 구조적으로 작성할 때 사용하는 마크업 언어 중 하나로 Hyper Text Mark-up Language의 줄임말입니다. 하이퍼텍스트에 대해서는 이미 충분히 설명했기 때문에 여기에서 우리가 주목할 부분은 ‘Mark-up Language’입니다. 문서를 ‘마크 업’ 한다는 것은 문서의 내용과 화면에 표시될 형태를 표시하는 동시에 데이터의 논리적 구조를 명시하는 작업을 의미합니다. 따라서 HTML은 프로그래밍 언어들이 일반적으로 가지는 절차성, 조건 분기, 반복문 등의 특성을 지니지 않고, 그렇기 때문에 튜링완전하지도 않습니다. 다시 말해서 ‘프로그래밍 가능한(programmable)’ 언어가 아닌 것입니다.

profile
철학하는 개발자

0개의 댓글