본문 바로가기
Development/데브코스(TIL, 회고록 등등...)

[데브코스 웹 풀스택 과정 TIL] Day 6~9 - 웹 생태계 전반에 대한 이론 및 실습 (1) - 웹 개요

by Polaris_ 2023. 11. 26.

[2023. 11. 21 ~ 24 학습 분]

 

1. 웹의 시작

웹의 시작은 컴퓨터와는 관계가 없는 곳에서 시작되었다. 

 

1989년 CERN에서 근무하던 팀 버너스 리가 연구원 간에 정보 교환을 빠르게 하기 위해 만들었다고 전해진다.

이른바 WWW(World Wide Web) 되시겠다.

 

지금도 최초의 웹 페이지가 남아있다 (링크)

링크를 들어가보면 알겠지만 지금 우리가 보고 있는 웹과는 달리 지극히 단순한 형태이다.

그럼에도 웹의 특징을 잘 담고 있는데,

 

정보를 하이퍼텍스트 형식으로 표현하여 하이퍼텍스트(링크)를 따라 이동하며 다양한 정보, 문서들을 연결, 제공

한다는 것이다.

* 하이퍼텍스트: 단순 문자가 아닌 그 이상의 기능을 가지는 텍스트, 주로 링크, 참조의 역할을 하는 기술


2. 웹의 구조

웹의 구조는 단 두 가지, 클라이언트서버 두 종류의 컴퓨터로 이루어진다.

서비스를 요청하는 객체를 클라이언트(Client), 서비스를 제공하는 객체를 서버(Server)라고 한다.

 

식당을 예로 들어보자.

손님은 식당에 들어와서 음식을 주문하고, 식당은 주문을 받아 음식을 내 준다.

이때 손님이 클라이언트가 될 것이고, 식당(내지는 식당의 종업원들)이 서버가 될 것이다

 

과정도 단순하다.

클라이언트서버요청을 하면 서버는 그 요청을 받아 이를 해석, 처리해서 그 결과를 다시 클라이언트에게 전해준다.

정말 이게 전부다(...)

 

여기까지 오면 아마 이런 의문이 들 것이다.

'클라이언트랑 서버 두 기기 간에 통신을 한다는데 서로 물리적으로 멀리 떨어져있는 이 둘을 어떻게 연결할 것이며 어떤 방법으로 요청을 주고받음?'

 

그에 대한 답은 각각 인터넷과 HTTP가 될 것이다.

 

먼저 인터넷은 International Network의 줄임말로 의미 그대로 전 세계를 잇는 통신망이다.

시초는 미 국방성의 통신망 프로젝트였던 ARPANET인데 여기서는 이 프로젝트 자체가 중요한 것이 아니라 각 지점을 망의 형태로 이었다는 것이 중요하다.

이걸 가지고 전세계에 있는 서버들과 컴퓨터들을 잇게 되는데, 이것이 지금의 인터넷이다.

이로 인해 서버와 클라이언트가 서로 연결 할 수 있게 되었으며, 웹이라는 공간을 형성하기에 이른다.

 

다음으로 HTTP는 HyperText Transfer Protocol의 약자로 웹 통신 시에 쓰기 위해 정해진 통신 규약이다.

이 규약을 가지고 클라이언트와 서버가 각각 요청을 전달하고 결과를 돌려준다.

 

이 두개를 가지고 서버와 클라이언트를 잇고 통신할 수 있게 되면서 별도 지식 없이도 웹 브라우저를 통해서 웹서핑을 할 수 있게 되는 것이다.


3. 웹 개발

웹 개발은 프론트엔드백엔드 두 가지로 나눌 수 있다.

 

  • 프론트엔드는 브라우저 상에 화면을 구성하는 역할을 하며 Client-side에서 세부 화면 구성, 이미지, 레이아웃, 사용자와의 상호작용을 맡는다.
  • 백엔드는 Server-side에서 돌아가며  프론트엔드에서 받은 요청 및 데이터들을 내부 데이터 및 내부 로직에 따른 연산을 활용하여 가공, 처리한 뒤에 그 결과를 다시 클라이언트에  전달하는 역할을 한다.

보통은 프론트엔드와 백엔드가 언어 및 사용 기술이 다르나 이번에 배우는 Node.js의 경우에는 프론트엔드와 백엔드 둘 다 가능하다는 특징이 있다

 

 

 

[다음글에 이어서]