이 글은 개발을 위한 프로그래밍 지식 시리즈의 4번째 글입니다. 이번 글에서는 인터넷의 역사에 대해서 알아봅시다. 인터넷의 등장은 인류의 욕망과 관련이 있고 컴퓨터의 등장하고나서 살짝 뒤에서 등장하게 됩니다. 인터넷의 역사에 기여한 사람들은 서너명 정도가 되고 그들의 존재로 인해 인류는 인터넷이라는 네트워크 속에서 빠른 발전을 이룰 수가 있었습니다.
그럼 바로 본론으로 들어갑시다.
인류와 소통
인터넷의 이야기를 하기에 앞서서 인류의 특성에 대해 살짝 생각해보고 넘어갈 필요가 있습니다. 인간은 다른 동물과는 다릅니다. 언제나 무리를 지어 생활을 했고 지구를 점령한 후에도 인류는 그 특성을 버리지 못하고 있습니다. 인간은 뭔가를 만들면 그것을 남에게 보여주고 싶어하고 평가받고 싶어합니다.
인간은 보통 혼자 있는 것보다는 누군가와 함께 있는 것을 더 선호합니다. 인간은 소통을 하고 싶어하는 사회적인 동물입니다. 이러한 특성들이 인터넷이라는 과학적인 진보마저 불러왔습니다. 물론 진보 자체는 불편함을 해결하고 편해지기 위해서지만요. 인간은 소통을 필요로 하는 존재입니다. 이러나 저러나 인터넷이 세계를 이어주고 국가를 뛰어넘어 소통을 하게 만들어줬다는 것은 달라지지 않죠.
인터넷 역시도 통신을 위한 수단이었고 오늘 날에는 전화와 필적한 빈도를 자랑하는 통신 수단이 바로 인터넷입니다.
인터넷의 역사
인터넷은 단거리는 물론 장거리 통신이 가능한 소통 방법입니다. 인터넷은 1973년에 빈튼 서프라는 사람과 밥 간이라는 사람이 만들어낸 TCP와 IP라는 통신 프로토콜을 통해서 정보를 주고받을 수 있는 컴퓨터 네트워크입니다. 인터넷이라는 이름도 그들이 지었습니다. 이것들의 상세한 개념에 대해서는 언젠가 따로 공부를 해보시면 될 것 같습니다.
네트워크라는 것은 통신망이라는 의미 입니다. 이 통신망의 안에 있다면 통신이 가능하다 라고 생각하면 됩니다. 인터넷은 인류에게 없어서는 안되는 중요한 요소가 되어버렸습니다. 이 인터넷이 그간 어떻게 발전해왔는지 간략하게 들여다보도록 합시다.
최초의 컴퓨터 네트워크 아파넷(ARPANET)
아파넷은 미국 국방부 산하 조직인 **고등 연구국(Advanced Research Projects Agency)**에서 개발된 컴퓨터 네트워크였습니다. 이 조직은 현재 DARPA라는 이름으로 존재하고 있습니다. 이들이 만든 네트워크인 아파넷은 미군의 정보를 어떻게 관리할까 라는 발상에서부터 시작되었고 정보를 안전하게 보관하기 위해서 네트워크를 만들게 되었습니다. 이 프로젝트에 참가했던 로런스 래리 로버츠라는 사람은 인터넷의 아버지라고 불릴 정도로 위업을 세운 셈입니다.
1983년 즈음에는 패킷 송출 방법을 NCP에서 TCP/IP로 변경합니다. 이 시기에 이메일이라는 개념이 최초로 등장하게 됩니다. 이 이후에는 아파넷은 민간에 공개해버리고 국방부에선 **밀넷(MILNET)**이라는 또 다른 네트워크를 만들어 사용하기에 이릅니다. 이들이 공개한 아파넷이 바로 현재 우리가 사용하는 인터넷 환경의 근간이 됩니다.
이때까지만 해도 인터넷이라는 것은 어려운 개념이었습니다. 적어도 일반인들은 이것을 제대로 다룰 수가 없었습니다. 오늘날 인터넷이라는 이미지를 만들게 되는 것은 바로 이 때쯤에 등장합니다.
WWW의 등장
1989년. 팀 버너스리라는 사람은 WWW라는 것을 고안합니다. 줄여서 웹이라고 부르며 **월드 와이드 웹(World Wide Web)**을 줄여서 WWW라고 부르기도 합니다. 웹은 네트워크 상의 커다란 공간입니다. 인터넷 내부에 존재하는 것이라고 보면 됩니다. 웹이 인터넷인 것은 아닙니다. 이 둘은 확실히 다른 것이고 인터넷이 연결되어 있어야 웹도 의미가 있습니다.
웹은 1990년 2월 20일에 본격적으로 보급화되기 시작합니다. 웹이라는 이름은 수많은 페이지들이 거미줄처럼 얽혀있다는 비유에서 지어졌습니다. 이 뿐만이 아니라 HTTP라는 개념도 웹 페이지의 주소를 의미하는 URL이라는 것도 전부 팀 버너스리라는 사람이 만들었습니다. 이 사람이 아니었다면 우리는 아마 아직도 불편하게 어렵게 인터넷을 활용했을 겁니다.
다시 한 번 말하지만 웹은 인터넷을 이용한 시스템이지 인터넷 그 자체가 아닙니다. 인터넷은 네트워크고 네트워크는 통신망입니다. 웹은 정확히 무엇인가하면 HTTP라는 프로토콜로 주고 받을 수 있는 HTML 페이지가 가득한 공간이다 라고 할 수 있습니다. 웹 브라우저가 바로 HTTP 통신을 엿볼 수 있는 도구인 것이고 그렇기 때문에 웹 페이지를 볼 수 있는 것입니다.
오늘날 인터넷을 하는 행위가 웹을 들여다본다 라는 것으로 쓰이는 이유에는 아마 마이크로소프트가 만든 윈도우에 인터넷 익스플로러라는 브라우저가 큰 기여를 했을 겁니다. 사실 일반인들은 몰라도 됩니다. 그 둘이 다른다는 것을요. 하지만 우리는 알아야합니다. 웹과 인터넷은 별개이고 인터넷의 내부에 웹이 존재한다는 것을 말입니다.
아무튼, 웹의 존재로 인해 인터넷은 더욱 빨리 보급화 될 수 있었습니다. 인터넷은 점점 더 발전하면서 웹 이외에도 다른 기술들이 개발되고 있죠. 특히나 웹의 탄생은 웹 프로그래밍을 가능케 했습니다.
팀 버너스리는 웹 이외에도 HTML이라는 문서 규격을 제안했고, 이것은 점점 발전해서 CSS라는 것을 탄생시켰고 이후에는 자바스크립트와도 연동이 가능해져 동적인 프로그래밍이 이루어졌습니다. 웹 프로그래밍은 현재 강력한 위상을 지니고 있습니다.
웹의 존재의의
인터넷은 다양한 것들을 주고 받는 네트워크들의 집약체였고 월드 와이드 웹은 그런 데이터들 중에서도 가시적인 문서나 파일들을 효율적으로 관리하거나 열람하기 위해서 탄생했습니다. 팀 버너스리가 웹을 고안하게 된 계기도 이리 저리 흩어져 있는 정보를 한데모아 체계적으로 관리할 수 있게 하기 위함이었습니다. 그리고는 그것이 이루어지자 무료로 만들어 기술을 오픈소스로 만들었습니다.
웹으로 인해 우리는 인터넷 공간에 있는 문서나 파일을 편하게 볼 수 있게 되었고 이를 주고 받을 수 있게 되었습니다. 오늘날의 웹은 정보의 바다가 되었습니다. 이게 전부 팀 버너스리가 선구적인 발상을 해냈기 때문입니다.
웹의 특징
웹의 특징이라면 당연하게도 문서와 문서가 서로 연결 되어있다는 것입니다. 링크라는 것을 통해서 서로 다른 웹 페이지를 연결하는 게 가능합니다. 인터넷을 정보의 바다로 불리게 만들어준 기능이기도 합니다. 이는 상당히 혁신적이었다고 할 수 있겠습니다.
대략적인 인터넷의 역사는 이정도입니다. 사실 우리는 전문지식 수준의 지식은 아직은 알 필요가 없습니다. 여러분이 웹 개발자로서 충분히 성장을 하면 그때 공부를 해도 늦지 않을 정도의 내용입니다. 중요한 것은 이제 우리는 컴퓨터의 역사나 프로그래밍의 대략적인 흐름을 알았고 오늘은 웹이 탄생하게 된 계기를 알게 되었다는 것입니다.
이제 웹의 흐름에 대해서만 알아본다면 우리가 웹 개발을 하는데에 있어서 큰 문제는 없을 겁니다. 이번 글은 여기까지입니다. 다음 글은 언급한대로 웹의 흐름, 즉 웹의 역사에 대해서 알아볼까 합니다.