컴퓨터 사이언스 (Computer Science)
컴퓨터를 다루기 위한 기초적인 배경 지식 5. HTML
우리가 평소 사용하는 홈페이지는 HTML이라는 언어를 사용해 만들어집니다.

HTML (HyperText Markup Language) 은 하이퍼텍스트를 이용한 컴퓨터 언어로, 링크를 사용하여 통신을 할 수 있는 언어입니다. 링크를 사용하면 탐색 시간이 대폭 감소하기 때문에 사용하기 용이하고, 약 20가지의 마크업(형식)만으로 문서를 구성할 수 있으므로 제작이 간편합니다.
- 마크업(Markup)이란?
- 평문에 헤더(<>)를 추가해서 텍스트에 효과를 추가하는 양식
마크업은 평문의 앞과 뒤에 헤더를 추가하기 때문에 ‘열고 닫기’의 개념을 가집니다.
만약 ‘안녕하세요. 반갑습니다.’ 라는 평문에서 ‘안녕’ 부분에 빨간색으로 색을 칠하고 싶을 때, 헤더를 추가하여 ‘안녕’의 앞뒤에 <RED>와 </RED>라는 헤더를 추가하여 형식을 지정할 수 있을 것입니다.
헤더가 아니더라도 다른 양식을 이용해서 ‘red:안녕, ~~~’과 같은 형식을 지정한다면, 위의 방식보다는 더욱 적은 비용으로 파일 작성이 가능할 것입니다.

HTML은 논문을 읽기 위해서 만들어진 것이 시초입니다.
당시에 다양한 국가에서 작성된 논문을 제대로 읽기 위해서는 2가지 조건이 충족되어야 했습니다.
- 언어의 통일 : 다양한 사람들이 소통하거나, 글을 작성하여 공유할 때, 각국의 언어만으로 작성한다면 소통에 큰 어려움이 생기기 때문에 이에 대한 통일이 필요하였고, 영어를 대표 언어로 지정해서 사용하였습니다.
- 프로그램 통일 : 나라마다 사용하는 문서 작성 프로그램이 다르기 때문에, 논문을 읽기 위해서 모든 나라에서 사용하는 프로그램을 일일이 설치하는 것이 어려웠고 그 당시 컴퓨터의 사양 또한 좋지 못했기에 새로운 프로그램의 도입이 필요하였습니다.
이때 HTML의 창시자 팀 버너스리는 논문을 읽기 위한 통일 형식이 필요하다고 생각하였고, 문서 작성을 마크업과 확장자만 준수한다면 어떤 문서 프로그램으로 작성하던 논문을 읽을 수 있도록 HTML과 브라우저를 고안합니다.
작성한 논문에 마크업을 추가하고 파일명의 확장자를 html로만 저장해두면, 브라우저에서 이 파일을 알아서 해석해서 논문의 형식으로 보여주는 편리한 방법이었습니다.
위의 그림에서 중앙의 PC에 논문을 전부 저장해두고 이를 통해 논문을 공유한다면, 이 PC는 논문(HTML 파일)을 제공하는 웹 서버(Web Server)가 됩니다.
논문을 작성하는 사람들은 자신의 논문이 겹치지 않았는지 확인해야 하기에 PC에 다른 사람들의 논문을 요청하게 됩니다. 즉 작성자들은 클라이언트가 됩니다.
이 웹 서버는 논문을 전송받고 반대로 전송하는 동안 항상 가동되고 있어야 할 것입니다. 계속 가동되고 있다는 것을 그리스 신화 속의 데몬(Daemon)의 글자를 빌려 Daemon Server라고 합니다.

2개의 기기에서 통신을 진행할 때, 클라이언트는 서버의 IP 주소(컴퓨터 주소)를 통해 서버에게 특정 파일을 달라고 요청하게 되고, 서버는 그 파일을 자신이 지정한 폴더 내에서 찾아 클라이언트에게 내용을 제공하게 됩니다.
이때 무엇을 공유하는 지에 따라 서버의 종류가 달라지고, 서버의 종류에 따라 사용하는 프로토콜 또한 달라집니다. 폴더 자체를 공유하는 서버는 파일 서버라고 하고, HTML 파일을 공유하면 웹 서버가 되는 것이죠.
파일 서버의 경우 FTP(File Transfer Protocol)을 사용합니다. 클라이언트는 파일 서버에게 파일을 요청할 때에 ‘ftp://”서버 IP 주소”/b.txt’ 형태의 주소를 서버로 보내게 되고, 서버는 이를 읽고 파일의 내용을 다시 클라이언트에게 전송합니다.
- 폴더 내에 폴더가 또 존재할 수 있습니다. 위의 그림의 경우, img 안의 h.png 파일을 요청할 때에는 ‘ftp://”서버 IP 주소”/img/h.png’ 형태의 주소를 전송하여 파일을 요청할 수 있습니다.

우리가 자주 사용하는 HTTP(HyperText Transfer Protocol)는 웹 서버가 사용하는 프로토콜입니다. 클라이언트는 웹 서버에게 ‘http://”서버 IP 주소”/b.html’ 형태의 URL(Uniform Resource Location)을 보내고, 서버는 F2 폴더에서 ‘b.html’의 내용을 찾아 클라이언트에게 다시 전송합니다.
이때 클라이언트에게 전송하는 내용은 마크업이 담긴 html 파일의 내용뿐이기에, 이를 해석하기 위해 브라우저가 필요합니다. 그래서 클라이언트 측은 브라우저의 주소창에 URL을 입력하여 서버에게 html 파일을 요청하고, 서버 측은 html 파일의 내용을 클라이언트 측에 전송하면 브라우저는 이를 해석하여 화면에 표시하게 됩니다.
즉, http 통신은 html 파일을 전송하는 과정이라고 볼 수 있습니다.
https는 무엇인가요?
https는 http에 보안(secure)을 추가한 것으로, 데이터를 다른 곳에서 엿보거나 훔쳐갈 수 없도록 RSA 보안 등을 통한 인증서 보안을 도입하여, 개인 정보를 안전하게 지킬 수 있도록 제작된 프로토콜입니다.
내용 정리 & Web Issue
- html은 논문을 편하게 읽기 위해 제작된 언어이다.
- 브라우저는 논문을 저장하는 html 형식을 해석하기 위해 제작되었고, 논문을 공유하기 위해 개발되었다.
- 하지만 최근 구글, 페이스북 등의 브라우저들이 데이터를 독점하기 시작하면서, 새로운 http 버전들은 데이터 분산을 통한 독점 방지를 목표로 하고 있다.
Share article