본문 바로가기

개발 지식

웹 서비스의 역사와 발전

Internet과 Web의 출현

인터넷의 출현

1960년대 핵전쟁 이후 상황에서 핵 공격에도 마비되지 않을 통신 시스템이 필요했고,

물리적으로 떨어져 있어도 서버 간 통신이 가능한 인터넷이 출현하게 되었다.
결국 인터넷은 군사적 목적으로 처음 출현하게 된 셈이다.

웹의 출현

1990년대, 팀 버너스리를 통해 처음 등장하게 된다.
최초의 브라우저인 web이 등장하면서 인터넷이 대중화되기 시작했다.
(인터넷이 web을 포함하는 관계! 헷갈릴 수 있으니 메모..📝️ )

인터넷이 가져온 혁신

인터넷이 가져온 가장 큰 혁신은 유통

인터넷이 발달하기 이전, 소프트웨어를 구입하면 물리적인 매개체(CD, 플로피디스크 등)을 전달받아 컴퓨터에 연결해 설치해야했다.

인터넷이 대중화 된 이후 이러한 유통 과정이 혁신적으로 줄어들었고, 많은 개발자들이 자신이 만든 소프트웨어를 인터넷 상에 올려 판매하기 시작했다.

이를 통해 실리콘밸리(야후,구글,아마존 등)가 형성되고 이른바 닷컴붐이 일며 웹 기반의 서비스가 시작된다.

Web history

1세대 웹

  • 웹 서버가 HTML 페이지 전체를 Client (웹브라우저 등)에게 전송하는 구조
  • User Interaction이 많이 요구되지 않는, 단순 정보 제공 위주였다.
  • HTML,CSS 자체의 특징이기도 한, 정적인 사이트

2세대 웹

  • 웹 서버가 HTML 페이지와 더불어 Javascript를 통해 필요한 데이터만을 주고받으며 User Interaction를 구현했다. (동적인 웹 서비스의 출현)
  • 웹 기반의 언어 Javascript가 등장했지만 아직까진 일부분에서만 사용되었고,
    현재의 API 개념이 널리 사용되지는 않았다. (동일한 서비스에서 HTML, Javascript 데이터를 둘다 전송했다)
  • 프론트엔드/백엔드 개념에 대한 구분은 아직!

3세대 웹

  • 프론트엔드/백엔드 영역을 구조적/업무적으로 구분짓고 특화하기 시작했다.
    (프론트 - UI UX위주 / 백엔드 - Data위주)
  • Javascript가 주축이 되었고, 이는 곧 SPA (Single Page Application) 개념이다.
    : 단일 HTML페이지에서 전체 웹 사이트/서비스를 구현하는 것.
    기존엔 서버가 매번 페이지 구성에 필요한 모든 요소를 전송했는데,
    이젠 처음에 필요한 파일만 송수신하고 그 이후로는 실시간 데이터만 주고받게 된다.

Modern Web

  • 규모가 커지면서 User Interaction의 중요성/웹 복잡성/사용자 수/데이터의 양이 모두 증가했다.
  • 여기서 생긴 문제 : (1) 동시 접속자 수 (2) 데이터의 양
  • 해결 방안 : System architecture의 발전
    시스템 구조가 복잡해짐에 따라 Frontend 서버와 Backend 서버가 분리되었다.
    • Backend 서버 : 웹 서비스의 규모가 방대해짐에 따라 데이터 양도 폭발적으로 증가하고 있어 API 서버가 세분화 되고 있을 뿐만 아니라, 빅데이터 분석, 머신러닝, AI 등의 기술이 발달하고 있다.
    • Frontend 서버 : Node.js, React 등 JavaScript 엔진 및 프레임워크/라이브러리가 발달해 더 복잡한 기능 구현이 가능해졌다. 특히 Node.js로 간단한 백엔드 기능을 직접 구현할 수 있게 되었다.

본 글은 2021년 8월 4일 개인 블로그(velog)에 작성된 글입니다.