Published on

내멋대로 정리한 웹 기술의 흐름

Authors

혼자서 공부해왔던 웹개발 기술들에 대하여 개인적인 사견을 듬뿍 담아 정리해봤다. 개발이 아닌 다른 분야를 공부할 때에도 혼자만의 흐름을 따져가며 생각을 정리해왔기에, 이번 프론트 개발을 공부하며 같은 맥락에서 흐름들을 정리해보았다. 아직 웹 개발 입문단계의 주니어의 정리글이니, 부족한 점은 댓글로 지적해 주시면 다시 공부해서 수정하겠다.

태초 그 이전

우선, 가장 기초인 "인터넷"과 "웹(WWW, World Wide Web)"의 구분 부터 시작하겠다.

인터넷은 기본적으로 TCP/IP standard를 따르는 네트워크 기술 자체이자, 통신 프로토콜이라고 생각하면 된다. 주관적으로 요약하자면, 인터넷 기술 이전에는 각자 회사끼리, 혹은 임의의 단체끼리끼리만 내부망을 공유해서 네트워크가 형성 됬다면, 인터넷 프로토콜은 이 모든 네트워크들 끼리도 연결하는 통신 규약(프로토콜)을 생각하면된다.

TCP/IP protocol을 제외한 인터넷 연결 기술도 있다. 대학시절 배운 대표적인 protocol로 "OSI 7계층"이 있다. 그러나, 이는 복잡한 구조로 사장되었고, 현재 주력 인터넷 프로토콜은 TCP/IP 라고 할 수 있다.

웹은, 인터넷 기술 위에 형성된(주로 TCP/IP protocol을 따르는) 정보를 공유할 수 있는 전세계적인 "정보 공간" 시스템 자체를 의미한다. 위에서 설명한 인터넷을 구성하는 프로토콜에 대한 논쟁의 다음 차원이라고 볼 수 있다. 네트워크 간에 연결을 TCP/IP를 활용하던, OSI 모델을 활용하던 하는 부분은 넘어가고, 연결 됬다는 가정하에 일어나는 데이터간 통신 규약을 정하는 장이라고 할 수 있다.

웹 통신 규약부터는 웹개발자들도 익숙한 프로토콜이 등장한다. DHCP,DNS, FTP, HTTP등등 들어봄직한 프로토콜 개념들이 여기서 등장한다. 그리고, 여기서 현대인들이 가장 많이 등장하는 HTTP 프로토콜이 등장한다.

요약 인터넷을 만들 시기에 다양한 프로토콜이 있었지만 현대 가장 널리 사용되는 인터넷 프로토콜은 TCP/IP TCP/IP를 대표로 이루어진 현대 웹 환경에서 널리 사용되는 프로토콜(이자 통상적인 웹개발을 지칭하는 환경)은 HTTP/HTTPS

태초에는...

앞서 살펴본 내용과 같이 다양한 통신 규약들이 등장하였다. FTP, Telnet등 아직까지도 들어봄직한 프로토콜들도 이 시점에 태어났고, 예전 부터 네트워크를 공부하신 분들이시라면 애플토크 같은 프로토콜도 이 당시 태어나고 저물었던 기술들이다.

다양한 프로토콜들 가운데, 현재까지도 가장 유명하고 많은 사람들이 사용하는 프로토콜은 당연 HTTP프로토콜 일 것이다.

HTTP와 HTML

HTTP는 HTML과 함께 등장하였다. 가장 널리 알려진 이야기로는, 1980년대 CERN(유럽 입자 물리 연구소) 소속 물리학자 팀 버너스 리가 연구원들간의 효율적인 문서 공유를 위해 오리지널 HTTP 기술을 발명하였다. 이후에 W3C 콘소지움을 열고 HTTPHTML 기술에 대한 관리 발전이 이루어져 현재에 이르렀다.

CSS

위 HTTP와 HTML이 발표되고 개발되어가고 있던 중, 정적이고 한정적인 http문서의 스타일링을 개선하기위해 1994년 10월 10일 하콤 비옴 리가 처음 제안하며 등장하였다. 이후 지속적인 개발과 발전을 거듭하여 2022년 현재 css3까지 개발중에 있다.

웹 환경 초기에는 위와 같이 기초적인 HTML과 CSS들로 이루어졌다. 당시 웹사이트 화면을 보면 투박하고 건조하였다.

Web1.0과 Web2.0

AJAX와 SPA(Single Page Application)

AJAX

Angular, React, Vue, Svelt등등

SSR 과 CSR

기본적으로 SPA은 CSR(Client Side Rendering).

CSR 클라이언트가 브라우저를 통해 랜더릴할 때 화면을 생성

SPA는 검색엔진 봇이 긁을 수 없다. 여기서 SEO가 이루어지지 않았음.

Next JS, Nuxt JS등을 활용하여 SSR을 적용

SSR 서버측에서 먼저 화면을 렌더링 하여 화면을 전송

WEB 3.0...?