[웹을 지탱하는 기술] chp 1. 웹의 기술적인 백그라운드와 아키텍처

sameul__choi·2022년 2월 15일
0
post-thumbnail

웹의 역사를 돌아보며 웹이 가진 특징을 설명한다. 동시에 HTTP와 URI, HTML이 어떤 아키텍처의 원칙에 따라 설계되어 있는지 알아본다.

우리 생활의 중요한 인프라가 된 웹이 어떤 곳에서 어떻게 이용되고 있는지 개략적으로 살펴본다.
다음으로 웹을 특징짓는 2가지 기술적 측면을 소개하고, 그것들이 왜 웹에 있어서 중요한지 알아본다.

01 모든것의 기반인 웹

오늘날 컴퓨터에 있어서 가장 중요한 소프트웨어는 웹을 열람하는 브라우저이다. 10년 전이라면 아마 워드 프로세서나 ERP, MIS 와 같은 기간업무 소프트웨어 였겠지만 지금 우리들은 브라우저를 통해 다양한 용도로 컴퓨터를 활용한다. 이 모든 것은 브라우저를 통해 인터넷 저편에 있는 웹서버와 통신을 하며 실현되고 있다.

02 다양한 웹의 용도

웹사이트

웹사이트는 포털사이트, 검색사이트, 기업의 PR 사이트, 사진관리, 북마크, SNS, wiki, 유투브 등 다양한 서비스를 제공하는 웹 사이트들이 있다.

웹 사이트의 시스템 구성은 PC 베이스의 UNIX 서버 1대인 경우부터 수 천, 수만대의 서버를 조합한 대규모인 경우까지 다양하다.

하지만 내부가 어떤 구성을 하고 있는지 클라이언트가 의식하지 않아도 되는 점은 웹의 공통적인 특징이다. 웹은 다양한 종류의 PC용 브라우저 외에도 휴대전화, 게임기, 텔레비전, 그 밖의 많은 디바이스에서 소프트웨어와 하드웨어에서 이용되고 있다.

유저 인터페이스로서의 웹

의외라고 생각하는 사람이 많을지 모르지만, 웹 기술은 UI 분야에서도 사용되고 있다.

예를 들면 각종 디바이스의 설정화면이다. 리모컨과 하드웨어의 한정된 버튼으로 설정하기보다 PC의 키보드로 조작하는 편이 효율적이기 때문이다.

다른 예로는 HTML에 의한 도움말이 있다.

이렇게 다양하게 응용이 될 수 있는 까닭은 HTML이 작성하기 편하다는 점과 다양한 환경에서 브라우저를 이용할 수 있다는 점 때문이다.

프로그램을 위한 API로서의 웹

마지막으로 API 로서의 웹이 있다. UI로서의 웹은 인간 중심의 인터페이스라면, API 로서의 웹은 프로그램 중심의 인터페이스이다.

API는 프로그램을 위한 인터페이스기 때문에 데이터 포맷으로는 JSON , XML과 같이 프로그램에서 해석, 처리하기 쉬운 것을 이용한다.

API로서의 웹은 '웹 서비스'라고도 불리는데 이 말은 웹에서 제공하ㅏ는 서비스나 사이트를 가르킬 때도 사용된다. 예를 들어 블로그 서비스, 소셜 북마크 서비스를 '웹 서비스'라고 부르기도 한다.

03 웹을 지탱하는 기술

그럼 웹이란 도대체 무엇일까 ? 본질적으로 웹을 지탱하고 있는 것은 어떤 기술들일까 ?

HTTP, URI, HTML

웹을 지탱하는 가장 기본적인 기술을 HTTP, URI, HTML 이다. 이들은 이 책의 중심 테마가 되는 기술이다. URI를 사용하면, 전 세계 온갖 정보를 가르킬 수 있다. HTML은 그 정보를 표현하는 문서 형식이고 HTTP라는 프로토콜을 사용하여 그 정보들을 가져오거나 내보낼 수 있다.

이 세가지는 심플한 기술이다. 예로 HTTP1.1이 정의하고 있는 메서드는 고작 8개 뿌인다. 그리고 URI는 종이 광고에 삽일 할 수 있을 정도로 짧은 문자열이다. HTML은 XML을 바탕으로 한 범용 문서 포맷이다. 이런 심플함에 의해서 웹은 여러가지 응용이 가능하게 되어 있다.

그리고 HTTP, URI, HTML이 지탱하고 있는 웹을 정보 시스템으로 본다면 하이퍼미디어 시스템과 분산 시스템이라는 두가지 측면으로 볼 수 있다.

하이퍼 미디어

하이퍼 미디어란 텍스트와 이미지, 음성, 영상 등 다양한 미디어를 하이퍼링크로 연결해 구성한 시스템입니다. 하이퍼 미디어 이전의 미디어 예를 들면, 책이나 영화는 선형적으로 처음부터 순서대로 읽거나 시청하는데 비해, 하이퍼 미디어는 비선형적으로 처음부터 순서대로 읽거나 시청하는 데 비해, 하이퍼 미디어는 비선형적으로 사용자가 스스로 링크를 선택하여 정보를 얻는다.

하이퍼링크는 정보끼리 연결하는 구조를 가르킨다. 링크에 의해 사용자는 다른 정보로 자유롭게 참조할 수 있게 된다.

웹은 하이퍼미디어의 한 예이고, HTML로 기술한 웹 페이지에는 다른 웹페이지와 삽입된 이미지, 동영상으로으이 링크가 포함된다.

분산 시스템

중앙 집중형 시스템(한 대의 컴퓨터가 모든 것을 처리)과 반대로 복수의 컴푸터를 조합해 처리를 분산시키는 형식을 '분산 시스템'이라고 한다.

분산 시스템은 복수의 컴퓨터와 프로그램을 네트워크상에 분산시켜 배치한다. 한 대의 컴퓨터로실행하는 것보다 효율적으로 작업을 처리할 수 있게 만든 시스템이다. 분산 시스템은 복수의 컴퓨터 상에 존재하는 데이터를 일원적으로 다루거나 한 대의 컴퓨터로는 다루기 힘든 방대한 정보를 조작할 수 있다.

웹은 전 세계에 배치된 서버에 전 세계의 브라우저가 엑세스하는 분산 시스템이다. 웹 전체에 존재하는 정보는 당연히 하나의 컴퓨터에 다 들어갈 수 없다. 과거에는 웹과 같은 대규모 분산 시스템은 존재하지 않았다.

분산 시스템으로서의 웹의 특징은 프로토콜이 심플하다는 점이다. 그렇기 때문에 이 정도로 방대한 시스템을 실현할 수 있게 된것이라는 점을 기억하자

0개의 댓글