[새싹] 웹을 지탱하는 기술 Chapter01

채상엽·2022년 5월 10일
0

Sproutt 2nd - Spring Study

목록 보기
13/32

layout: post
title: "웹을 지탱하는 기술 스터디 - Chapter1"
date: 2022-02-13T00:00:00-00:00
author: sangyeop
categories: Sproutt-2nd


새싹 개발 서적 스터디 - 웹을 지탱하는 기술 Chapter01

Chapter 01. 웹이란 무엇인가?

모든 것의 기반인 웹

현재 우리들에게 가장 중요한 소프트웨어는 웹을 열람하는 소프트웨어인 브라우저(Brower)이다.

다양한 웹의 용도

  • 웹사이트

    • 구글, 야후, 아마존 등등 다양한 서비스를 제공하는 웹 사이트.
    • 웹 사이트 내부가 어떠한 구성을 하고 있는지 클라이언트가 의식하지 않아도 된다는 점은 웹의 공통적인 특징이다.
    • 웹은 PC용 브라우저외에 휴대전화, 게임기, 텔레비전, 그 밖의 디바이스 등 많은 소프트웨어와 하드웨어에서 이용되고 있다.
  • 유저 인터페이스(UI)로서의 웹

    의외라고 생각할지도 모르지만, 웹 기술은 UI 분야에도 사용되고 있다.

    • 각종 디바이스의 설정화면

      • 리모컨과 하드웨어의 한정된 버튼으로 설정하기보다는 PC의 키보드로 조작하는 편이 효율적이다.
    • HTML(Hypertest Markup Language)

      • Window의 'HTML 도움말' 기능
        • HTML 기반으로 소프트웨어와 하드웨어에 대한 도움말을 작성할 수 있다.
      • 사진에 HTML 링크 생성하는 것

      이렇게 다양하게 응용이 될 수 있는 까닭은 HTML 편집 소프트웨어가 갖춰져 있다는 점과 다양한 환경에서 브라우저를 이용할 수 있다는 점 때문이다.

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

    UI로서의 웹은 인간 중심의 인터페이스였지만, API로서의 웹은 프로그램 중심의 인터페이스이다. 데이터 포맷으로는 XML, JSON과 같이 프로그램에서 해석, 처리하기 쉬운 것을 이용한다. API로서의 웹은 웹 서비스 라고도 불린다.

웹을 지탱하는 기술

그렇다면 웹을 지탱하고 있는 기술들에는 무엇들이 있을까?

  • URI

    • 쇼핑 사이트의 상품이든 학술 논문이든 동영상 사이트에 올라온 영상이든, 전 세계 온갖 정보를 가리킬 수 있다.
  • HTML

    • URI에 해당하는 정보를 표현하는 문서 형식이다.
  • HTTP

    • URI에 해당하는 정보들을 가져오거나 내보낸다.

    HTTP 1.1에 정의되고 있는 메서드는 고작 8개 뿐이며 URI는 매우 짧은 문자열이다. 또한 HTML은 XML을 바탕으로 한 범용 포맷 문서이다.

위 세 가지 간단한 기술들이 지탱하고 있는 웹을 정보 시스템으로 본다면, 하이퍼미디어 시스템분산 시스템 이라는 두 가지 측면으로 볼 수 있다.

하이퍼미디어

하이퍼미디어란? : 텍스트와 이미지, 음성, 영상 등 다양한 미디어를 하이퍼링크로 연결해 구성한 시스템

이전의 미디어를 예를 들면 책이나 영화는 처음부터 순서대로 읽거나 시청해야했다. 그러나 하이퍼미디어는 비선형적이기 때문에 사용자가 스스로 링크를 선택하여 정보를 얻을 수 있다.

하이퍼링크(혹은 링크)란 하이퍼미디어에 있어서 정보끼리 연결하는 구조를 의미한다. 이 덕분에 사용자는 이 정보에서 저 정보로 정보간의 참조를 자유롭게 할 수 있게 된다.

웹 또한 하이퍼미디어의 한 예이다. HTML로 기술된 웹페이지에는 다른 웹 페이지와 삽입된 이미지, 동영상들의 링크가 포함되기 때문에 사용자들은 브라우저를 사용하여 자유롭게 이것들을 따라 갈 수 있게된다.

분산 시스템

분산시스템이란? : 복수개의 컴퓨터와 프로그램을 네트워크 상에 분산시켜 배치함으로써, 한 대의 컴퓨터로 실행하는 것보다 효율적으로 작업을 처리할 수 있게 만든 시스템.

단일 컴퓨터로 구성된 중앙 집중형 시스템으로는 어려운 기능이나 성능을 실현할 수 없다. 과거에는 웹과 같은 대규모 분산 시스템이 존재하지 않았다. 현재 이와 같이 방대한 시스템을 실현할 수 있게된 이유는 프로토콜이 심플하기 때문이다.

profile
프로게이머 연습생 출신 주니어 서버 개발자 채상엽입니다.

0개의 댓글