본문 바로가기

ComputerScience/Network

[Network] World Wide Web와 인터넷, HTTP의 역사

팀 버너스리, 이미지 출처: https://lh3.googleusercontent.com/ci/AE9Axz9nyaIVnTPphSbM-re5mM2cwLqI0fAT_L7DGfm_MNkuFpS4AvoNcwk23Kre-8ss0mlBUetkXxs=s1200

1989년 CERN 연구소에서 팀 버너스리가 발명한 인터넷상 정보시스템: WWW

  • World Wide Web은 인터넷상에서 정보를 링크를 통해 효율적으로 접근할 수 있는 인터넷 상의 정보시스템이며, 팀 버너스리가 CERN 연구소에서 1989년 발명했고, WWW, W3라고 줄여 부른다.
  • CERN은 유럽 입자물리 연구소로, 유럽을 기반으로 한 입자물리학 연구소이며, 가장 큰 실험 장치인 입자가속기 길이는 27km이다.
  • 웹 발명자인 팀 버너스리는 1955년 6월 8일에 태어나 1976년에 옥스포드 학위를 받은 후, 2차례로 CERN에서 근무한 인물이다.
  • 웹에 필요한 프로토콜중 하나인 HTTP와 웹 발명의 연결은 차후에 발명된 것이라 직접적인 관련은 없으나, 웹 발명과 함께 발전했다는 공통점이 있다.

CERN에서 발명된 World Wide Web의 특징과 시스템

  • CERN은 분산 연구 환경을 가지며, 유럽 12개국이 참여하는 연구소이다.
  • CERN은 합의에 의해 자율적인 협업 문화를 가진 연구소이다.
  • CERN 내에서 각 연구자는 자신이 익숙한 시스템을 사용하여 연구를 진행한다.
  • CERN 연구소 내에는 다양한 시스템이 존재하며, 계층 구조의 시스템이 흔히 사용된다.
  • 트리 구조로 정보를 저장하는 시스템인 유닉스 파일 시스템과 다른 시스템들이 사용되었다.

CERN 연구소에서 사용하는 계층 구조 시스템은 정보 접근에 있어 비효율적이었다.

이해를 돕기 위한 트리 구조 예시, 이미지 출처: https://media.geeksforgeeks.org/wp-content/uploads/111-11.png
  • 위와 같은 계층 구조 시스템은 정보를 찾을 때 루트 디렉토리에서부터 하나씩 찾아나가는 구조로, 정보에 대한 연관성을 제약한다.
  • 따라서, 저장 방식에서 연관성을 기반으로 하는 정보 접근이 중요하며, 이에 대한 연구를 진행하고 있었다.
  • 좋은 구조는 연관성 기반의 접근을 가능하게 하는 구조이다. 
    (e.g. 이 프로젝트와 관련된 실험은? 관련있는 연구자는?)

CERN의 링크 기반 프로그램 개발의 시작

이해를 돕기 위한 링크 기반 구조 이미지, 이미지 출처: https://cms.boardmix.com/images/articles/network-structure.png
  • 하이퍼 텍스트 개념은 이미 당시에 있었지만, CERN은 모르고 있었음. (하이퍼 텍스트란, 참조를 통해 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트)
  • CERN은 Enquire라는 링크 기반 프로그램을 개발하여 편리하게 정보를 관리했다
  • 프로그램은 문서 간 링크로 정보 표현, 타입에 따라 연결되는 관계 설정했다.
  • 또한 CERN은 RPC 프로그램 개발을 통해 네트워크를 통한 로직 실행 경험을 쌓았다.
  • 이 경험이 나중에 월드 와이드 웹 개발에 중요한 역할을 했다.

시스템 구조에 불편함을 느낀 팀 버너스 리의 Enquire 프로그램 사용 경험

  • 팀 버너스 리는 CERN에 속해있는 부서에서 계층적인 시스템의 불편함을 느끼고, 옛날에 사용한 Enquire 프로그램을 활용하기로 결정한다.
  • 다만, 새로운 부서에서는 다른 시스템을 사용하고 있어 Enquire를 그 시스템에 맞춰 버전 업해야 했다.
  • Enquire는 개인 편의를 위한 소프트웨어로, 다른 동료들도 사용할만큼 친절한 것은 아니었으나, 일부 동료는 이 프로그램을 가져다 사용했다.
  • 하지만 팀 버너스 리는 Enquire로는 부족하다고 느껴, 다양한 시스템에 맞는 버전을 개발해야 했고, 다른 시스템과의 문서 연결이 되지 않는 단점도 있었다.
  • CERN 내에서 다양한 부서들이 정보 접근의 어려움과 비효율성을 겪는 상황을 공유하고, 이 문제를 해결하고자 한다.

Enquire로는 맞지 않아, CERN의 연구 상황을 고려한 통합 정보 시스템 필요

  • Enquire의 현재 상황에서는 맞지 않아 "새로운 시스템"을 필요하게 된다.
  • 이에, 하이퍼 텍스트(Hypertext) 시스템 개발 필요성을 인식하게 되었고, 다른 그림과 영상 등 여러 정보가 하이퍼미디어로 연결될 수 있도록 개발하고자 한다.
  • CERN 연구 상황을 고려한 통합 정보 시스템 필요성까지 인식하게 되었다.
  • 12개국에서 참여한 연구소이기 때문에, 네트워크를 통해 원격 접근할 수 있는 시스템을 고려하였다.
이미지 출처: https://assets.editorial.aetnd.com/uploads/2016/08/the-worlds-first-web-sites-featured-photo.jpg

하이퍼텍스트(Hypertext) 기반 시스템, 분산된 하이퍼 텍스트 시스템 'World Wide Web'의 출현

  • CERN 에서는 원격 접근이 가능하고, 다양한 시스템에서 동일한 정보에 접근 가능해야 하며, 중앙 통제 또는 조정 없이도 연결이 가능해야 했다.
  • 이에 대한 해결책으로 하이퍼텍스트 기반 시스템 개발이 제안되며, 통합된 정보 시스템의 필요성을 느꼈다.
  • 이로 인해, 분산되어 있는 데이터 접근 문제를 찾은 끝에, 분산된 하이퍼 텍스트 시스템 'World Wide Web'이 개발되었다.
  • 'World Wide Web'의 제안서는 1989년 3월에 제출되었다.

클라이언트 서버 모델의 적합성과 하이퍼텍스트 서버의 필요성

  • 하이퍼텍스트 시스템을 구현하기 위해 클라이언트-서버 모델이 적합하다고 판단했다.
  • 이는 네트워크에서 정보를 저장하는 소프트웨어와 보여주는 소프트웨어 간 구분을 위해 고안되었다.
  • 글로벌 CERN 스타일과 같이 자율성이 보장되는 업무에서도 각자의 필요에 맞게 연구를 할 수 있도록 클라이언트 서버 모델이 적합하다고 생각했다.
  • 또한 기존 데이터에도 접근 가능하도록 하이퍼텍스트 서버를 만들어 제공할 필요성이 있다고 설명되었다.

초기 클라이언트와 서버 간의 통신에 대한 모호함

  • 제안서에서 이 인터페이스가 어떻게 동작하는지, 데이터를 주고 받는 방식에 대한 구체적인 설명이 부족하다.
  • 서로 다른 시스템에 있는 정보들을 연결할 때, 링크가 어떻게 동작할 것인지에 대한정의도 모호하다.
  • 상사의 코멘트 역시 '흥미진진하지만 모호하다'는 반응을 보여주며, 이에 대한 경영진의 회신은 없었다.

팀 버너스 리, 인터넷과 하이퍼 텍스트를 결합한 프로토콜 개발 아이디어 제안

  • 1988~89년, TCP/IP를 이용해 인터넷이 CERN에 연결됨.
  • 인터넷의 장점으로 분산된 하이퍼 텍스트 시스템을 개발하는 것이 가능하다는 생각을 하게 됨.
  • 클라이언트-서버 아키텍처를 구체화시키며 프로토콜을 정의하기 시작하고, 유럽 하이퍼텍스트 관련 커뮤니티에도 소개함.
  • 하지만 지원을 받지 못하자 팀 버너스 리가 포기하지 않고 아이디어를 구체화해, 1990년 11월 더 구체화된 제안서를 작성함.
  • 이것이 HTTP, HTML, URL 등으로 연결되면서 World Wide Web의 탄생을 이끈 프로토콜의 시작이었다.

1989년, 'World Wide Web' 개념 제안서의 구체화된 내용

  • 개념 제안서에서 'World Wide Web'이라는 용어가 등장하지 않았음. 그러나 웹은 인터넷과 결합한 분산된 하이퍼텍스트 시스템이며, 글로벌 네트워크로 정보를 링크 기반으로 연결할 수 있는 것을 목적으로 함.
  • 제안서에서는 하이퍼텍스트 페이지를 받아오고, 그 안에서 다른 링크를 클릭하면 새로운 하이퍼텍스트 페이지가 나타나는 하이퍼텍스트 링크에 대해 설명하고 있다.
  • 클라이언트 서버 아키텍처에 대한 구체적인 설명도 포함되어 있음.
  • 초기에는 'World Wide Web Map' 등의 명칭을 사용하다가, 이후 'World Wide Web'으로 불리게 됨.

월드 와이드 웹의 구조와 개발 과정

  • 웹은 클라이언트와 서버 간의 상호작용을 통해 동작한다.
  • 클라이언트에서는 브라우저를 통해 서버에 요청을 보내고, 서버는 요청에 따라 하이퍼텍스트 페이지를 보내준다.
  • 페이지에서 링크를 클릭하면, 해당 스트링을 분석해 어떤 서버로 요청을 보내야 하는지 알 수 있다.
  • 월드 와이드 웹의 프로토타입은 1990년 12월에 완성되었으며, 이를 통해 웹 브라우저, 웹 서버, 웹사이트 등이 개발되었다.
  • 최초의 브라우저 : WorldWideWeb
  • 최초의 서버: CERN httpd
  • 최초의 웹사이트: http://info.cern.ch

팀 버너스리는 HTTP, HTML, URL 등을 개발하는 등 최초의 웹 시스템을 구축함.

  • HyperText가 어떻게 구성되어야 하는지 정의하는 HTML(hypertext markup language) 개발
  • HTML 문서을 전달하기 위한 프로토콜을 위해 HTTP(hypertext transfer protocol)를 개발
  • 또한, 유니버셜 도큐먼트 ID(UDI, 오늘날의 URL)를 개발하여 링크가 어디로 가야하는지를 특정하는데 사용되었다.

월드 와이드 웹이 발표

  • 1990년 12월, 월드와이드 웹 프로토타입 생성 후 지속적으로 발전시키는 과정을 거치면서 이제 실물이 눈에 잡히니까 사람들이 관심을 갖게 되고, 1991년에는 처음으로 외부에 공개함.
  • 웹이 성장하면서 이제는 CERN과 함께 협업하는 기관들 위주로 사용이 시작됨.
  • 그리고 1993년 4월 30일, 월드와이드 웹 무료 공개를 발표. 소스 코드 라이선스도 무료로 공개
  • 이것을 트리거로 웹이 폭발적으로 확산되고, 1994년에는 이미 많은 곳에서 웹을 사용
  • http 프로토콜도 계속 성장하면서 현재까지 이어진다.

인터넷과 월드와이드웹, 그리고 HTTP 프로토콜의 개념과 관계

  • 인터넷은 글로벌한 네트워크이며, 월드와이드 웹은 이를 효율적으로 사용하기 위한 인터넷 상 전 지구적 정보 시스템이다.
  • 월드와이드 웹은 소프트웨어에 가깝고, HTTP 프로토콜은 웹을 토대로 만들어진 프로토콜로 하이퍼 텍스트나 미디어 정보를 전달하는데 사용된다.
  • HTTP 프로토콜은 지금은 API를 이용해 json 데이터를 반환하는 용도로도 사용되나, 기본적으로는 하이퍼 텍스트나 미디어 데이터를 전달하기 위한 것이다.

참고 자료

https://youtu.be/1JjUYaoxJ9Y?si=k37-xnkR7AoCoJH6