문서를 뛰어넘은 문서, 하이퍼텍스트

이상우 lswoo@itdonga.com

인간은 책이나 일반 문서를 읽을 때 처음부터 끝까지, 위에서 아래로 읽어내려간다. 이를 선형적 구조 혹은 선형적 내러티브리고 말한다. 그런데 이 방식은 서사구조의 완결성은 있지만, 사용자의 필요나 생각의 흐름은 무관하게 일정한 정보를 순서대로만 제공한다. 만약 책을 읽는 중 모르는 내용이 나오거나 관심 있는 내용이 나왔을 때 그 내용에 관한 문서를 추가로 열어 읽을 수 있다면 정보를 습득하는데 용이할 것이다. 하이퍼텍스트(Hypertext)는 이런 이런 개념에서 등장한 원리다. 컴퓨터나 다른 전자기기로 한 문서를 읽다가 다른 문서로 순식간에 이동해 읽을 수 있는 비선형적 구조다. 문서 하나의 내용을 처음부터 끝까지 읽을 때는 불편하지만, 정보를 검색하고 습득하는데는 이상적인 구조다. 하이퍼텍스트의 등장은 검색엔진과 함께 새로운 정보 습득 방식을 우리에게 줬다고 해도 과언이 아니다.

하이퍼텍스트라는 용어는 'hyper(초월한)'와 'text(문서)'의 합성어로, 1960년대 미국 철학자 '테드 넬슨(Ted Nelson)이 구상한 용어다. 테드 넬슨은 이 용어를 현실화하기 위해 '재나두 프로젝트(Project Xanadu)'를 진행했다. 재나두 프로젝트란 세상의 모든 정보를 모아 서로 연계되고 이어지는 정보의 흐름을 만들자는 프로젝트다. 이 프로젝트는 훗날 팀 버나스 리(Tim Berners- Lee)가 인터넷의 기반인 '월드 와이드 웹(WWW)'을 개발하는 데 큰 영향을 줬다.

테드 넬슨
테드 넬슨

그런데 테드 넬슨 이전에 하이퍼텍스트와 유사한 개념의 기계장치가 제안한 사람이 있었다. 미국 기술자 '버네바 부시(Vannevar Bush)'가 제안한 '메멕스(Memex)' 장치다. 메멕스란 기억 확장장치(Memory Extender)의 약자로, 정보를 저장해두고 필요할 때마다 해당 정보가 담긴 마이크로필름을 불러와 읽고 내용을 편집할 수 있다. 이 장치는 실제로 구현되지 못했지만, 정보의 효율적인 저장과 검색, 연결이라는 개념은 훗날 인터넷과 하이퍼텍스트 발전에 영감을 줬다.

버네바 부시의 메멕스 장치
버네바 부시의 메멕스 장치

하이퍼텍스트의 구성

하이퍼텍스트는 노드(Node)와 링크(Link, 하이퍼링크)로 구성되는데, 노드란 문서를 뜻하고 링크란 문서를 서로 연결하는 통로를 뜻한다. 노드는 하이퍼텍스트 시스템을 구성하는 가장 작은 단위다. 하이퍼텍스트 시스템에서 가장 중요한 구성요소는 이 노드를 연결하는 링크다. 우리는 인터넷에서 이 링크를 통해 서로 다른 문서를 오가며 정보를 얻을 수 있고, 필요할 경우 자신이 아는 정보를 문서로 만들어 다른 문서와 연결할 수도 있다. 대표적인 예가 위키백과(http://www.wikipedia.org)다. 위키백과에서 'Hypertext'라는 문서를 검색하면 해당 문서에는 'computer display', 'hyperlinks', 'World Wide Web', 'Internet' 등의 다양한 문서와 연결할 수 있는 링크가 있다. 다음 사진에서 보이는 인터넷 페이지 하나가 노드고, 노드 사이의 빨간 화살표가 링크다.

노드와 링크 모식도
노드와 링크 모식도

인터넷이란 수많은 정보가 하이퍼텍스트를 통해 묶인 집합체다. 이 하이퍼텍스트를 만들기 위해서는 HTML(Hypertext Markup Langeage, 하이퍼텍스트 표시 언어) 이라는 프로그래밍 언어가 필요하다. HTML은 인터넷 문서의 글자 크기, 모양, 색 등을 지정하고, 그림, 하이퍼링크 등을 삽입하는 명령어다. 웹 페이지를 열고 마우스 오른쪽 버튼을 누른 뒤 '소스보기(페이지 소스, 페이지 소스보기)'를 선택하면 수많은 기호와 영어단어가 나오는데, 이것이 HTML이다. 이 명령어는 흔히 태그(tag)라고도 부르며, 과거 개인 홈페이지를 꾸며봤던 사람이라면 익숙할 것이다.

웹 문서 소스
웹 문서 소스

최근에는 기존 HTML의 문제점인 웹 브라우저(크롬, IE, 파이어폭스 등 하이퍼텍스트를 화면에 표시해주는 프로그램) 간 호환성, 멀티미디어 콘텐츠를 보려면 따로 플러그인을 설치해야 하는 등을 해결하기 위해 새로운 표준 언어 HTML5가 등장했다. HTML5로 만든 웹 문서는 각기 다른 웹 브라우저나 운영체제(모바일 운영체제도 포함)를 사용하더라도 동일한 웹페이지를 표시할 수 있으며, 액티브X 같은 플러그인 설치 없이도 자체적으로 음악이나 동영상 등을 재생할 수 있다.

하이퍼텍스트를 만들기만 해서는 아무런 쓸모가 없다. 인터넷이라는 정보의 바다를 통해 공유해야 더 많은 노드와 연결할 수 있고, 정보의 연속성이라는 개념이 완성되기 때문이다. 이런 하이퍼텍스트를 서로 주고받을 수 있는 통신 규약이 HTTP(Hypertext Tramsfer Protocol)다. HTTP는 인터넷에서 정보를 주고 받을 때 어떤 방식으로 정보를 주고 받을지, 오류가 발생하면 어떻게 처리할지 등에 대한 규칙과 약속이다. 인터넷 주소를 지정할 때 'http://it.donga.com'라고하는 것은 'it.donga.com'이라는 도메인(인터넷에 연결된 컴퓨터, 서버 등의 주소)에 있는 하이퍼텍스트를 HTTP방식으로 처리하라는 의미다. 만약 하이퍼텍스트를 주고받으면서 문제가 발생한다면 웹 브라우저에 에러 메시지가 나타난다. '404 Not Found(해당 주소에서 문서를 찾을 수 없음)'가 대표적이다.

404 not found
404 not found

하이퍼텍스트는 일반적인 문서와 달리 '파편적' 정보만 습득할 수 있다는 지적을 받기도 한다. 즉, 정보의 완결성이 없다는 것이다. 그런데 반대로 생각하면 시작과 끝이 없기 때문에 정보의 크기를 무한대로 확장할 수도 있다. 일반적인 문서는 저자가 주는 일방적인 정보를 받기만 한다. 반면 하이퍼텍스트는 독자의 필요에 따라 원하는 정보만 선택해 받을 수 있다. 그러므로 과거보다 독자 개인의 능력이 더 중요하다. 정보의 바다를 살아가는 현대인에게 가장 중요한 능력은 좋은 정보를 선별하고, 이를 올바르게 연결하는 것이다.

글 / IT동아 이상우(lswoo@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.