웹의 역사

최진우·2022년 8월 26일
0

개강 후 처음으로 백엔드 분야에 대해 배웠다.
IT와 전혀 관련없는 환경에서 살아온 비전공자로서, 아주 기초적인 내용뿐만 아니라 앞으로 실제로 개발하게 될 내용까지 미리 볼 수 있었다.
아직은 확실하게 감이 안오고, 개념도 정리되지 않았지만, 지금부터 하나씩 공부해보고자 한다.

인터넷, 웹이란?

인터넷

인터넷이란 여러 통신망이 하나로 연결되어 있다는 의미이다.
(Internet = Inter + Network)

웹(Web)

"Collection of information which is accessed via the internet"
우리에게 'www'로 친숙한 웹은 인터넷으로 연결된 컴퓨터를 통해 정보를 공유할 수 있는 정보망이라고 할 수 있다. 애초에 웹은 상호간의 신속한 정보교환과 정보 손실을 방지하기 위해 만들어졌다고 한다.

인터넷과 웹은 '연결', '정보' 라는 키워드를 중심으로 생각하면 좋을 것 같다.

1세대, 2세대, 3세대 웹의 차이점 및 현대 웹 시스템 아키텍처

1세대

'정적인 웹'으로 클라이언트와 서버간 상호 소통이 없다. 서버가 html 페이지 전체를 일방적으로 클라이언트 쪽으로 보내는 방식이며, 기능이 거의 없고 단순한 정보만을 제공한다.

2세대

자바스크립트의 출현으로 클라이언트와 서버가 상호작용하기 시작하여 '동적인 웹'으로 부를 수 있게 됐다. 하지만 자바스크립트는 일부에서만 사용됐으며, 서버에서 html, css, 자바스크립트 및 데이터가 전부 클라이언트로 전송되는 형태로 프론트엔드/백엔드의 구분이 없었다.

3세대

SPA(Single Page Application) 방식이 등장하여 단일 html로 전체 웹 서비스를 구현할 수 있으며 해당 페이지에 자바스크립트 파일이 포함된 상태이다. 자바스크립트가 모든 요소를 동적으로 처리할 수 있다. 웹페이지 렌더링에 필요한 자바스크립트 코드는 최초 통신에서 한 번에 송수신하고, 그 이후엔 서버와 실시간을 데이터를 주고받음으로써 더 동적인 화면을 구성할 수 있다. 이와 함께 웹 브라우저가 필요한 서버와의 통신은 데이터 전송 및 연산 작업이 대부분이 되었고, 자연스럽게 프론트엔드와 백엔드가 분리되었다.

현대 웹 시스템 아키텍처

웹이 발전하면서 사용자의 수가 급격하게 증가했고, 증가한 사용자만큼 필요한 기능에 따른 기술 또한 발전했다. 이에 따라 User Interaction의 중요성이 증가했으며, 사용자 수 및 데이터 양 또한 증가되었다. 자연스럽게 동시 접속자 수, 데이터 양을 커버해야하는 문제가 발생하면서, 서버를 분리하거나 데이터 요청을 분산처리하는 등의 기술이 발전해왔다.

웹이 발전해온 과정이나 그에 따라 마주하게 된 문제들을 봤을 때, 앞으로도 '동적 기능'이 확대되고 더 효율적인 기술이나 업무 방식이 중요해질 것 같다.
이 내용이 실제로 해야하는 서버, 데이터베이스 개발에 직접적인 관련은 적을지라도 배경지식으로 알아두고, 항상 염두에 둔다면 도움이 될 것이라고 생각한다.

profile
함께하고 싶은 백엔드 개발자

0개의 댓글