웹의 시작과 성공

2022. 6. 21. 06:31·Programming/Web
728x90

웹의 시작

웹은 스위스에 있는 유럽핵물리입자연구소의 CERN에서 비정규 계약직으로 일하던, 영국 출신의 과학자 팀 버너스리(Tim Berners-Lee)의 아이디어에서 시작되었다. 1980년 CERN에서는 약 10,000명의 연구원이 서로 다른 하드웨어, 소프트웨어 환경에서 일하고 있었고, 정보를 교환하기 위해 e-mail과 파일 전송(ftp)이라는 불편한 방법을 사용하고 있었다. 이때 팀 버너스리는 정보 교환을 편리하게 해주는 인콰이어 (ENQUIRE) 소프트웨어를 개발하였다.

1989년 그는 잠시 CERN을 떠났다가 다시 돌아와서, 정보를 쉽게 공유하고 관리할 수 있는 웹의 개념을 제안하고, 급기야 1990년에 WorldWideWeb이라고 불리는 프로젝트를 시작하였다. 이 프로젝트에서 서버-클라이언트로 동작하는 HTTP 모델과 HTML 언어를 개발하고, 세계 최초로 웹 브라우저를 개발하였다.

웹 문서를 HTML 언어 기반의 텍스트 파일로 만들고, 파일 내에 인터넷 주소로 다른 문서를 연결하는 하이퍼링크를 삽입하여 웹 브라우저가 하이퍼링크를 클릭하면 해당 문서를 볼 수 있는 하이퍼텍스트 개념을 구현하였다. 더 나아가 HTML 파일에 멀티미디어 파일의 주소를 기재하면, 웹 브라우저가 멀티미디어 파일을 가지고 와서 텍스트와 함께 출력하도록 하였다. 이렇게 함으로써, HTML 파일을 텍스트, 하이퍼링크, 멀티미디어를 모두 포함하는 소위 하이퍼텍스트(Hypertext)로 발전시켰다.

팀 버너스리가 CERN에서 최초로 개발한 웹 서버 소프트웨어를 NeXT 컴퓨터에 설치 운용하고, 최초의 웹 브라우저 월드와이드웹(WorldWideWeb)을 개발하는데 이용하였다. / 팀 버너스리가 CERN에서 사용하던 NeXT 컴퓨터

웹의 성공

웹이 1990년 세상에 나온 이래 인터넷의 기본 플램폼으로 성공하게 된 근본 이유

기술적 관점에서 세 가지 요인만 정리.

●만들기 쉬운 HTML 문서

 HTML 태그는 매우 단순하고 직관적이어서 사람이 보고 쉽게 이해하여 금방 웹 페이지를 만들 수 있다. 또한 HTML 태그는 텍스트이므로 아무 텍스트 편집기로 HTML 문서를 편집할 수 있다.

●효율적인 HTTP 통신

 사용자가 웹 브라우저로 웹 페이지를 보고 있는 동안, 웹 브라우저와 웹 서버는 연결을 유지하고 있을까? 대부분의 경우 아니다. 하나의 HTTP 세션 후 웹 서버는 웹 브라우저와 연결을 끊고 다른 웹 브라우저의 요청을 처리한다. 하나의 HTTP 세션에 걸리는 시간이 매우 짧아서 많은 수의 웹 브라우저가 웹 서버에 동시 접속하더라고 큰 문제가 되지 않는다.

●클라이언트와 서버의 작업 분담

 웹 서버는 웹 브라우저로부터 요청받은 문서나 이미지, 사운드, 동영상 등을 단순히 보내줄 뿐이다. 이를 해석하여 사용자 화면에 그리거나 오디오 및 동영상을 재생하는 것은 웹 브라우저의 몫이다. 만일 웹 서버가 웹 브라우저로부터 요청받은 웹 페이지를 그래픽 이미지로 다 완성하여 웹 브라우저로 보내주고, 웹 브라우저는 받은 이미지를 스크린에 출력하기만 한다면, 웹 서버의 작업 부담이 너무 커서 많은 동시 사용자를 수용하는데 문제가 생길 것이다.

모든 곳에 웹이 있다

현재 웹은 정보 통신을 위한 기본 플랫폼이다. 정보를 제공하는 곳에는 작든 크든 거의 모든 웹 서버를 갖추고 있다. 기업들은 물론이고, 사람들은 무슨 단체만 결성해도 웹 사이트부터 만들고 본다. 정보 소통을 위해 웹을 사용하는 것은 너무나 자연스러운 현실이 되었다.

TV에도, 셋톱박스에도, 장난감에도, 손바닥보다 작은 무선 와이파이 공유기(AP)에도 웹 서버가 작동한다. 크든 작든 인터넷에 연결되는 장치를 만들게 되면, 이 장치를 가장 쉽게 제어하는 방법은 이 장치에 웹 서버를 설치하고 웹 브라우저를 이용하여 제어하는 것이다. 무선 공유기 사례를 보면 사용자는 웹 브라우저로 무선 공유기 내부에 설치된 웹 서버에 접속하여 공유기 설정을 변경한다. 우리 주위의 모든 곳에 웹이 있다

'Programming > Web' 카테고리의 다른 글

동적 웹페이지  (0) 2022.07.18
웹 페이지 구성  (0) 2022.06.21
웹 페이지의 주소, URL/웹 브라우저와 웹 서버 사이의 통신, HTTP  (0) 2022.06.21
웹 문서와 전자 문서의 차이  (0) 2022.06.21
웹 개요  (0) 2022.06.20
'Programming/Web' 카테고리의 다른 글
  • 동적 웹페이지
  • 웹 페이지 구성
  • 웹 페이지의 주소, URL/웹 브라우저와 웹 서버 사이의 통신, HTTP
  • 웹 문서와 전자 문서의 차이
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리액트
    CSS
    제어문
    JavaScript
    array
    next.js
    Python
    TypeScript
    자바스크립트
    MySQL
    react
    객체
    web
    타입스크립트
    변수
    파이썬
    HTML
    Java
    object
    event
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
웹의 시작과 성공
상단으로

티스토리툴바