[목차]
chapter 01. 웹이란 무엇인가?
chapter 02. 웹의 역사
01. 모든 것의 기반인 웹
오늘 날 컴퓨터에 있어서 가장 중요한 소프트웨어는 웹을 열람하는 소프트웨어인 브라우저(Browser)다. 일기 예보나, 뉴스, 물건 구입 등 브라우저를 통해 다양한 용도로 컴퓨터를 활용한다. 브라우저를 통해 인터넷 저편에 있는 웹 서버와 통신을 하면서 실현되고 있다.
02. 다양한 웹의 용도
웹 사이트
Yahoo!, Amazon, Google 등 다양한 서비스를 제공하는 웹 사이트들이 가장 가까운 예다. 웹 사이트의 시스템 구성은 PC베이스의 UNIX 서버 1대인 경우부터 수 천, 수 만대의 서버를 조합한 대규모인 경우까지 다양하다. 하지만 웹 사이트 내부가 어떤 구성을 하고 있는지 클라이언트는 의식하지 않아도 된다. 웹은 PC용 브라우저 외에 휴대전화, 그 밖에 디바이스 등 많은 소프트웨어와 하드웨어에서 이용되고 있다.
유저 인터페이스로서의 웹
웹 기술은 각종 디바이스의 설정화면과 같은 유저 인터페이스 분야에서도 사용되고 있다. 리모컨과 하드웨어의 한정된 버튼으로 설정하기보다는 PC의 키보드로 조작하는 편이 효율적이기 때문이다. 다른 예로는 HTML에 의한 도움말이 있다. Windows에서는 HTML 기반으로 소프트웨어와 하드웨어에 대한 도움말을 작성할 수 있다. 또한, 사진 관리 소프트웨어가 사진을 배포할 때 각 사진에 HTML 링크를 생성하는 것도 웹 기술을 유저 인터페이스에서 응용한 사례다. 이렇게 다양하게 응용이 될 수 있는 이유는 HTML이 작성하기 편하다(편집 소프트웨어가 갖춰짐)는 점과 다양한 환경에서 브라우저를 이용할 수 있다는 점 때문일 것이다.
프로그램을 위한 API로서의 웹
유저 인터페이스로서의 웹은 인간 중심의 인터페이스였지만, API로서의 웹은 프로그램 중심의 인터페이스다. API는 데이터 포맷으로 XML이나 JSON과 같은 프로그램에서 해석, 처리하기 쉬운 것을 이용한다. API로서 웹은 ‘웹 서비스(Web Service)’라고도 불리는데, 웹에서 제공하는 서비스나 사이트를 가리킬 때도 사용된다. (혼란을 피하기 위해 본서에서는 프로그램용 인터페이스는 ‘웹 API’, 웹에서 제공하는 서비스와 사이트는 ‘웹 서비스'라고 사용함.)
03. 웹을 지탱하는 기술
본질적으로 웹을 지탱하고 있는 것은 어떤 기술들일까?
HTTP, URI, HTML
웹을 지탱하는 가장 기본적인 기술이라고 할 수 있다.
- URI를 사용하면, 쇼핑 사이트의 상품이든 학술논문이든 전 세계 온갖 정보를 가리킬 수 있다.
- HTML은 그 정보를 표현하는 문서 형식이다.
- HTTP라는 프로토콜을 사용하여 그 정보들을 가져오거나 내보낸다.
HTTP, URI, HTML은 심플한 기술이다. 이런 심플함에 의해서 웹은 여러 가지 응용이 가능하게 되어 있다.
HTTP, URI, HTML이 지탱하고 있는 웹을 정보 시스템으로 본다면, 하이퍼 미디어 시스템(Hypermedia System)과 분산 시스템(Distributed System)이라는 2가지 측면으로 볼 수 있다.
하이퍼 미디어
하이퍼미디어란 텍스트와 이미지, 음성, 영상 등 다양한 미디어를 하이퍼링크로 연결해 구성한 시스템이다. 하이퍼미디어 이전의 미디어인 책이나 영화는 선형적으로 처음부터 순서대로 읽는 것에 비해, 하이퍼미디어는 비선형적으로 사용자가 스스로 링크를 선택하여 정보를 얻는다.
하이퍼링크란(혹은 링크란) 하이퍼미디어에 있어서 정보끼리 연결하는 구조를 가리킨다. 링크에 의해 어떤 정보에서 다른 정보로 자유롭게 참조가 가능하다.
웹은 하이퍼미디어의 한 예다. HTML로 기술한 웹 페이지에는 다른 웹 페이지와 삽입된 이미지, 동영상으로의 링크가 포함된다. HTTP와 HTML의 이름에 하이퍼텍스트(hypertext)라고 들어가는 것을 봐도 하이퍼미디어가 웹에 있어서 얼마나 중요한지 알 수 있다.
분산 시스템
한 대의 중앙 컴퓨터가 모든 것을 처리하는 형식을 ‘중앙 집중형 시스템'이라고 부른다. 반대로, 복수의 컴퓨터를 조합해 처리를 분산시키는 형식을 ‘분산 시스템'이라고 한다.
분산 시스템은 복수의 컴퓨터와 프로그램을 네트워크상에 분산시켜 배치함으로써, 한 대의 컴퓨터로 실행하는 것보다 효율적으로 작업을 처리할 수 있게 만든 시스템이다. 분산 시스템을 이용하면 중앙 집중형 시스템으로는 어려운 기능이나 성능을 실현할 수 있다.
웹은 전 세계에 배치된 서버에 전 세계의 브라우저가 엑세스하는 분산 시스템이다. 분산 시스템으로서의 웹의 특징은 프로토콜이 심플하다는 점이다. 프로토콜이 심플하기 때문에 비로소 이 정도로 방대한 시스템을 실현할 수 있게 된 것이다.
'개발 서적 > 웹을 지탱하는 기술' 카테고리의 다른 글
[웹을 지탱하는 기술] chapter 06. HTTP의 기본 (0) | 2022.03.28 |
---|---|
[웹을 지탱하는 기술] chapter 05. URI의 설계 (0) | 2022.03.15 |
[웹을 지탱하는 기술] chapter 04. URI의 스펙 (0) | 2022.03.14 |
[웹을 지탱하는 기술] chapter 03. REST 웹의 아키텍처 스타일 (0) | 2022.03.07 |
[웹을 지탱하는 기술] chapter 02. 웹의 역사 (0) | 2022.02.28 |