(1) WWW의 탄생과 배경
웹은 World Wide Web 또는 WWW, W3라고도 불린다. 웹은 1991년 스위스 제네바 유럽 입자 물리 연구소(CERN, Conseil European pour la Recherche Nucleaire)의 팀 버너스 리(Tim Berners-Lee)가 최초로 고안한 개념으로 물리학자들간에 연구정보를 효율적으로 공유하기 위한 목적으로 개발하였다. 그러나 WWW는 당시에는 사용하기 어려웠을 뿐만 아니라 그리고 많은 인기를 얻고 있던 고퍼의 그늘에 가려 빛을 보지 못하다가 1993년 미국 일리노이 주립대학의 NCSA(National Center for Superconducting Applications)에서 학생들이 웹을 쉽게 이용할 수 있는 모자이크(Mosaic)라는 웹 브라우저를 발표한 이후 널리 이용되기 시작하였다. 인터넷의 가장 획기적인 서비스 중 하나인 웹은 인터넷에서 개별적으로 제공되던 각종 서비스(예를 들면, 전자우편, FTP, 텔넷 등)를 통합하여, 모든 자료들을 멀티미디어(Multimedia)적인 방법을 통해 컴퓨터 상에 실현시킨 프로그램이다. 멀티미디어적인 방법이란 기존의 문자 중심의 데이터 표현뿐만 아니라 그래픽, 음성, 정지화상, 동화상 등 복수 매체를 사용해서 정보를 표현하는 방법을 말한다. 특히 이들 멀티미디어 정보를 하이퍼텍스트(Hypertext) 및 하이퍼미디어(Hypermedia)기법을 이용하여 서로 참조될 수 있도록 한 점이 특징이다. 웹이 나타나기 이전에 인터넷상에서 원하는 정보를 얻기 위해 전송되는 대표적인 서비스로서는 아키(Archie), 고퍼(Gopher), FTP 등이 있었다. 이러한 서비스들이 기본적으로 텍스트 형태의 정보를 제공하는 데 비해 웹은 일반 사용자들이 어려움을 느끼고 있는 정보 검색방법에 대한 확실한 해결책을 가지고 등장하였다. 복잡한 명령어를 몰라도 마우스로 원하는 곳을 간단히 클릭하기만 하면 화려한 그림이 화면에 나타나고 생생한 음성이 제공되는 등의 하이퍼미디어 기술을 이용하여 정보를 검색할 수 있도록 하였다. 하이퍼텍스트(Hypertext)라는 개념은 1965년 테드 넬슨이 사용했는데 텍스트를 읽다가 어떤 단어를 마우스로 선택하면 그 단어와 관련되는 다른 텍스트가 자동적으로 연결되어 화면에 나타나는 텍스트 운영방식을 말한다. 하이퍼미디어(Hypermedia)는 하이퍼텍스트에 멀티미디어 기능을 추가한 개념으로서 관련된 문서들끼리 연결된 하이퍼텍스트에 대하여 음성, 이미지, 동화상과 같은 다양한 매체들끼리 결합된 정보의 형태를 의미한다. 하이퍼텍스트 또는 하이퍼미디어 안에서 사용되는 다른 문서와의 연결을 하이퍼링크(Hyperlink)라 한다. 하이퍼미디어를 이용하면 자동차라는 단어를 마우스로 누르기만 하면 자동차의 모습이나 소리로 바로 연결되어 보거나 들을 수가 있다. 따라서, 웹은 사용자가 원하는 정보가 어디에 있든 상관없이 관련된 단어나 그림을 누르기만 하면 인터넷을 통하여 마치 관련된 정보들이 자신의 컴퓨터에 저장된 것처럼 쉽게 이용할 수 있는 편리한 사용자 환경을 제공해 준다. 웹의 장점을 간략히 요약하면 다음과 같다.
① 웹은 하이퍼텍스트의 근본 개념에서 출발한 구조 체계(system)이다.
웹은 인터넷에서 제공되는 다음과 같은 서비스들을 통합하여 제공할 수 있다. ① 고퍼(Gopher)를 통한 서비스
이와 같이 웹은 인터넷상에서의 정보검색을 위해 하이퍼미디어 방식을 적용하고 있으며, 사용하기 편리한 그래픽 환경을 기본으로 하고 있다. 그리고 기존의 인터넷상에 존재하는 여러 가지 서비스를 통합하여 편리하게 사용할 수 있도록 해주므로 사용자가 기하급수적으로 증가하는 동기를 부여하였다.
|
Page
40. 1)
WWW의 구성요소
(가) 웹 클라이언트(Web Client) 웹 클라이언트는 웹 서버에게 URL(Uniform Resource Locator)이라는 양식을 이용하여 서비스를 요청하고, 이에 대한 결과로 전달받은 HTML 문서를 해석한 후 사용자에게 표현해 주는 역할을 하며, 다양한 멀티미디어 데이터를 표현하기 위해 외부의 프로그램을 사용자에게 표현해 주는 역할을 한다. 또한 다양한 멀티미디어 데이터를 표현하기 위해 외부의 프로그램을 사용하기도 한다. 그러나 최근에는 외부 프로그램을 통해 멀티미디어를 별도의 윈도 응용 프로그램으로 표현하기보다는 웹 브라우저 내에 직접 내장하여 표현하는 추세이다.
(나) 웹 서버(Web Server) 웹 서버는 특정 웹 클라이언트로부터 전송되어 오는 서비스 요청에 대한 결과인 HTML문서를 해당 웹 클라이언트에 제공한다. 특히 웹 서버는 고퍼, WAIS, FTP, 아키, 뉴스그룹, 전자우편 등 다양한 프로토콜을 지원하기 때문에 별도의 프로그램이 없이도 웹 상에서 이러한 서비스를 이용할 수 있다. 또 CGI라는 방법을 사용하여 외부 프로그램과 연동해서 서비스를 제공할 수도 있다.
웹 브라우저는 HTML로 작성된 하이퍼텍스트 문서를 해석하여 화면에 출력하는 기능을 가지고 있는 프로그램이다. 웹 브라우저는 해석 기능뿐만 아니라 책갈피 기능이나 인쇄 기능 등 사용자가 인터넷을 사용하기에 편리한 기능도 제공한다. 따라서 웹을 사용하기 위해서는 이 브라우저가 필수적이다. 웹 브라우저로는 넷스케이프사의 넷스케이프 커뮤니케이터(Communicator), 마이크로소프트사의 인터넷 익스플로러(Internet Explorer), 이외에도 Cello(첼로), Win WWW(윈 웹), Lynx(링스), Emacs WWW Mode(이맥스 웹 모드)등 여러 가지가 있다. 최근 넷스케이프사의 넷스케이프 커뮤니케이터나 마이크로소프트사의 인터넷 익스플로러 5.X는 브라우저와 운영체제 기능들의 이음매를 제거하고 다양한 기능(문서편집, 그룹웨어 지원 등)을 통합한 형태를 취하고 있다.
(라) URL(Uniform Resource Locator) URL은 웹 브라우저가 인터넷상에 있는 문서나 파일 등의 각종 자원을 찾아 입력하고 출력하기 위해 사용하는 표준 주소이다. 즉, 인터넷상의 문서나 파일이 어느 곳에 있는지를 알려 주는 주소라고 생각할 수 있다. URL의 예는 다음과 같다.
이와 같이 URL은 필요한 전송 프로토콜의 종류와 데이터가 유지한 주소 등을 포함하는 표준 형식을 가지고 있다. 그러므로 인터넷에 연결되어 있는 모든 호스트에 존재하는 파일을 URL 하나로 찾아갈 수가 있다. 다시 말해서 한 디렉토리 내에서 파일 이름이 유일하듯이, URL만 정확히 알고 있으면 인터넷상의 어느 곳에 있는 웹이라도 찾아갈 수 있고 언제라도 원하는 자원을 이용할 수 있다.
(마) HTTP(HyperText Transfer Protocol) 인터넷에는 수많은 웹 서버와 웹 클라이언트가 위치하고 있으며 이들은 각기 필요한 정보를 요청하고 또 그 요청에 따라 정보를 주고받음으로써 웹서비스가 이루어진다. 이때 웹 클라이언트와 웹 서버 사이에는 일정한 약속에 의하여 서비스가 수행되는 데 이를 HTTP(HyperText Transfer Protocol)라고 한다. 즉, HTTP는 웹 클라이언트와 웹 서버 사이에 사용되는 통신규약이다. 이 규약에는 웹 클라이언트가 원하는 웹 문서를 요청할 수 있는 방법과 웹 서버가 이를 찾아 이에 대한 결과나 상태를 전달하는 방법으로 구성되어 있다.
웹 사용자는 웹 클라이언트를 이용해 하이퍼링크를 선택함으로써 이 하이퍼링크에 해당하는 정보를 요청하고, 웹 서버는 이 요청에 해당하는 정보를 제공한다. 이러한 과정의 연속 작업으로써 사용자는 원하는 하이퍼링크를 통해 인터넷의 모든 정보를 활용할 수 있다. 이때 정보란 단순히 하이퍼텍스트만을 의미하는 것이 아니라 일반 문서나 그래픽, 음성, 동화상 등의 다양한 모든 정보를 의미한다.
(바) HTML(HyperText Markup Language) HTML은 단순하지만 멀티미디어를 포함한 강력한 시각적 효과를 제공하는 언어로 다음과 같은 두 가지의 중요한 기능을 가지고 있다. 첫째, 웹 문서를 위한 메이크업 언어로서 메이크업 표준 언어인 SGML(Standard Generalized Markup Language)의 부분 집합 기능을 제공한다. 즉 문서의 형식을 정의할 수 있다. 둘째, HTML은 한 문서에서 다른 문서로의 이동을 가능하게 하고, 각종 멀티미디어 문서작성 기능을 지원하는 등 하이퍼텍스트와 하이퍼미디어 기능을 제공한다.
(사) CGI(Common Gateway Interface) 웹은 URL을 통해 HTML 문서가 전달되는 정적인 정보전달 방식의 시스템이다. 이러한 문제점을 다소나마 해결하고자 나온 방법이 CGI이다. 웹 클라이언트는 HTML 문서 내에서 NAME = ydjang, CreditID = jyd4996처럼 원하는 파라미터(Parameter)를 지원하는 작업을 수행시킨다. 이 방법에서
[그림Ⅱ-2]CGI 의 처리과정 CGI 외에도 외부 프로그램을 호출하는 방법으로 BGI(Binary Gateway Interface)가 있는데, BGI는 환경 변수를 선언하는 대신 웹 서버에서 외부 프로그램이나 DLL을 수행시킨다. 참고로 CGI나 BGI는 모두 원하는 정보를 URL을 통해 전달하고, 이에 대한 처리 결과를 HTML 문서 양식으로 전달받는 정적인 처리 방식을 사용한다. 그러나 최근에는 이러한 문제를 해결하고 HTML 문서 내에 동적인 기능을 추가할 수 있는 기능을 가진 자바(Java)와 자바스크립트(Java Script)가 각광을 받고 있다. 자바는 선 마이크로시스템즈사에서 개발한 프로그램 언어로서 인터넷에서 이용 가능한 자바 라이브러리를 통해 프로그램을 작성하면 서버에 존재하는 프로그램의 코드가 클라이언트로 이동되어 수행된다. 이때 어떤 파라미터의 전달이나 이에 관련된 응용 프로그램 인터페이스도 사용되지 않는다.
(아) 홈페이지(Homepage) 우리가 볼일이 있으면 집에서 나가고, 일을 마치면 다시 집으로 돌아오듯이 홈페이지는 인터넷 탐험을 시작하는 출발점이기도 하고 다시 돌아오는 귀착점이기도 하다. 즉, 홈페이지는 웹 여행에 있어서 출발점이자 사람의 얼굴과 같이 중요한 페이지를 가리킨다. 홈페이지는 일반적으로 정보를 이용하는 사용자와 정보를 제공하는 서버의 입장으로 나누어 살펴볼 수 있다. 먼저 웹에서 정보를 검색하거나 전송 받는 사용자 입장에서의 홈페이지는 인터넷 익스플로러나 넷스케이프 커뮤니케이터와 같은 웹 브라우저를 실행시켰을 때 처음으로 나타나는 웹 페이지를 가리킨다. 사용자가 웹 여행을 시작할 때 이 곳을 출발점으로 하여 링크를 따라 다양한 페이지를 여행하다가 길을 잃어버렸을 경우 언제나 다시 이곳으로 되돌아올 수 있다. 이러한 홈페이지는 사용자가 주로 관심이 있는 많은 링크를 포함하고 있는 장에서의 홈페이지는 특정인, 특정 기관, 또는 특정 기업을 대표하는 웹 페이지를 말한다. 기관의 홈페이지는 일반적으로 해당 기관에 대한 정보, 연구 과제 및 제품 목록과 같은 각종 내부 자원에 대한 링크를 가지고 있다. 또한 해당 기관에 소속된 사람들이 자주 찾아가는 웹사이트와 같은 링크를 포함하고 있는 경우가 많다.
2) WWW의 동작원리 웹서비스는 인터넷 익스플로러나 넷스케이프 커뮤니케이터와 같은 검색도구를 통해 웹 클라이언트와 웹 서버 사이에서 원하는 서비스 요청과 이에
웹 클라이언트는 웹 서버에게 URL(Uniform Resource Locator)이라는 양식으로 원하는 서비스를 요청한다. URL은 프로토콜과 해당 웹 서버의 호스트 이름과 도메인 이름으로 구성되어 있다. URL을 통해 웹 클라이언트에게서 서비스 요청을 받은 웹 서버는 해당 서비스의 요청에 따른 정보를 준비한 후, 그 결과를 다시 웹 클라이언트에게 보낸다. 이때 서비스 결과는 HTML (HyperText Markup Language) 문서로 보내진다. 이 문서는 멀티미디어를 포함한 하이퍼텍스트 양식으로 구성되어 있다. 따라서 이 특정한 문서를 보내기 위해 웹은 HTTP(HyperText Transfer Protocol)라는 프로토콜을 사용한다. 일단 원하는 문서를 전달받은 웹 클라이언트는 해당 HTML문서를 해석한 후 이 문서를 사용자에게 웹 브라우저를 통하여 보여 준다. 이때 정보는 HTML이라는 양식으로 표현되어 있으나 이 문서가 HTTP라는 방식으로 전달되고 있음을 이해해야 한다. 따라서 사용자가 웹 상에서 원하는 정보를 교환하기 위해서는 HTML 양식에 맞게 정보를 구성해야 한다. 마지막으로 웹 서버는 데이터베이스시스템이나 기타 외부의 프로그램과 HTML문서의 기능을 결합시켜 사용하기 위해서 CGI(Common Gateway Interface)라는 기능을 제공한다. 이 기능을 이용하여 사용자는 원하는 정보를 검색하거나 갱신하는 등 다양한 외부의 프로그램을 웹에서 이용할 수 있다. 웹 서버와 클라이언트간의 데이터 교환 과정을 순차적으로 살펴보면 다음과 같다.
↓
↓
↓
↓
↓
|