layout: post
title: "웹을 지탱하는 기술 스터디 - Chapter1"
date: 2022-02-13T00:00:00-00:00
author: sangyeop
categories: Sproutt-2nd
현재 우리들에게 가장 중요한 소프트웨어는 웹을 열람하는 소프트웨어인 브라우저(Brower)이다.
웹사이트
유저 인터페이스(UI)로서의 웹
의외라고 생각할지도 모르지만, 웹 기술은 UI 분야에도 사용되고 있다.
각종 디바이스의 설정화면
HTML(Hypertest Markup Language)
이렇게 다양하게 응용이 될 수 있는 까닭은 HTML 편집 소프트웨어가 갖춰져 있다는 점과 다양한 환경에서 브라우저를 이용할 수 있다는 점 때문이다.
프로그램을 위한 API로서의 웹
UI로서의 웹은 인간 중심의 인터페이스였지만, API로서의 웹은 프로그램 중심의 인터페이스이다. 데이터 포맷으로는 XML
, JSON
과 같이 프로그램에서 해석, 처리하기 쉬운 것을 이용한다. API로서의 웹은 웹 서비스 라고도 불린다.
그렇다면 웹을 지탱하고 있는 기술들에는 무엇들이 있을까?
URI
HTML
HTTP
HTTP 1.1에 정의되고 있는 메서드는 고작 8개 뿐이며 URI는 매우 짧은 문자열이다. 또한 HTML은 XML을 바탕으로 한 범용 포맷 문서이다.
위 세 가지 간단한 기술들이 지탱하고 있는 웹을 정보 시스템으로 본다면, 하이퍼미디어 시스템 과 분산 시스템 이라는 두 가지 측면으로 볼 수 있다.
하이퍼미디어란? : 텍스트와 이미지, 음성, 영상 등 다양한 미디어를 하이퍼링크로 연결해 구성한 시스템
이전의 미디어를 예를 들면 책이나 영화는 처음부터 순서대로 읽거나 시청해야했다. 그러나 하이퍼미디어는 비선형적이기 때문에 사용자가 스스로 링크를 선택하여 정보를 얻을 수 있다.
하이퍼링크(혹은 링크)란 하이퍼미디어에 있어서 정보끼리 연결하는 구조를 의미한다. 이 덕분에 사용자는 이 정보에서 저 정보로 정보간의 참조를 자유롭게 할 수 있게 된다.
웹 또한 하이퍼미디어의 한 예이다. HTML로 기술된 웹페이지에는 다른 웹 페이지와 삽입된 이미지, 동영상들의 링크가 포함되기 때문에 사용자들은 브라우저를 사용하여 자유롭게 이것들을 따라 갈 수 있게된다.
분산시스템이란? : 복수개의 컴퓨터와 프로그램을 네트워크 상에 분산시켜 배치함으로써, 한 대의 컴퓨터로 실행하는 것보다 효율적으로 작업을 처리할 수 있게 만든 시스템.
단일 컴퓨터로 구성된 중앙 집중형 시스템으로는 어려운 기능이나 성능을 실현할 수 없다. 과거에는 웹과 같은 대규모 분산 시스템이 존재하지 않았다. 현재 이와 같이 방대한 시스템을 실현할 수 있게된 이유는 프로토콜이 심플하기 때문이다.