웹 서비스의 역사와 발전

이후경·2022년 5월 25일
0

참고: 생활코딩-원시웹, WeCode session

인터넷이란?

전세계의 컴퓨터가 서로 연결되어 정보를 교환할 수 있는 하나의 거대한 컴퓨터 통신망
컴퓨터들이 서로 통신 가능한 거대한 네트워크

미국(자본주의 진영) vs. 소련(사회주의 진영)
우주 경쟁(인공위성 발사) → 핵 미사일 개발 경쟁
인터넷은 1960년대 미국 국방부 산하의 고등 연구국에서 군사적인 목적으로 처음 개발 되었다. 중앙 집중적 네트워크 연결방식으로 한 전화국이 파괴되면 그 전화국이 연결해주는 모든 통신이 두절되었고 이는 전시 상황에 매우 큰 문제였다.
소련의 핵공격에도 생존할 수 있는 컴퓨터 통신 시스템 설계의 필요했다.

웹이란?

Collection of information which is accessed via the Internet."
인터넷 네트워크를 이용하여 통신되는 정보의 집합

1990년 웹의 탄생

인터넷이 등장하고 30년 뒤인 1990년에 웹이 등장하였다. 인터넷이라는 네트워크 기능 안에 웹이라는 서비스가 포함되어 있으며, 1990년대 웹이 출현하며 인터넷통신이 대중적으로 사용되기 시작했다.

하지만 우리가 흔히 말하는 인터넷하면 떠올리는 각족 웹사이트의 시초는 1990년대 웹의 아버지, Tim Berners-Lee (팀 버너스리)가 개발한 월드 와이드 웹(www)이다.
팀 버너스 리는 웹서버와 웹브라우저를 개발하고, 이 둘이 통신할때 사용하는 프로토콜인 HTTP라는 통신 규약을 정의하고, 웹 브라우저에 정보를 표현할 수 있게 하는 프로그래밍 언어, HTML을 발명했다.
그리고, 이러한 기술들을 Public Domain으로 공개하면서 인터넷, 월드 와이드 웹은 폭발적으로 발전하게 된다.

인터넷과 웹이 불러온 혁신

유통 - 인터넷과 웹이 불러온 가장 큰 혁신

  • 정보 유통의 발전
  • 예전에는 소프트웨어를 구입 하려면 물리적인 매개체가 필요
  • ex. 신문 - 물리적인 신문 배달 → 인터넷 신문

웹 기반의 SW 서비스의 시작
정보의 유통이 혁신적으로 발전하며 많은 개발자들이 창업
인터넷에 본인들이 만든 SW 를 올려서 판매 시작
실리콘 밸리, Yahoo, Google, Amazon, etc (2000년대)
1세대 웹 서비스의 시작

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로 간단한 백엔드 기능을 직접 구현할 수 있게 되었다.

profile
나는야 경바

0개의 댓글