생활코딩 - <Web> 17 : 요청하는 컴퓨터 웹 브라우저(Web Browser) 와 응답하는 컴퓨터 웹 서버(Web Server)에 대해, 인터넷이 동작하는 기본 원리, 클라이언트와 서버

YUKI_GO·2022년 9월 30일
0

생활코딩 <Web> 공부

목록 보기
10/13

17강) 인터넷을 여는 열쇠 : 서버와 클라이언트


웹 브라우저와 웹 서버

이번 강에서는 인터넷이 동작하는 가장 기본적인 원리에 대해 알아보도록 한다.

인터넷이 동작하기 위해서는 컴퓨터가 최소 2대가 필요하다.
1대는 인터넷이 아니고, 3대는 본질적이지 않다.

2대의 컴퓨터가 서로 정보를 주고 받게 되는 순간
인류는 완전히 새로운 존재가 되었다.

팀 버너스 리 는 2대의 컴퓨터를 장만했다.

그리고 두 개의 프로그램을 개발하는데

하나는 웹 브라우저 라는 프로그램이고
하나는 웹 서버 라는 프로그램이다.

그리고 두 대의 컴퓨터는, 인터넷 으로 연결되어 욌다.

웹 서버 가 깔려있는 컴퓨터는
< info.cern.ch > 라고 하는 주소를 가지고 있다.
그리고 하드 디스크 가 있을 것이며
어느 디렉토리 안에 index.html 이라는 파일이 저장되어 있다.

그리고 웹 브라우저 에서 주소창에
info.cern.ch/index.html 이라고 입력하고
엔터를 땅 하고 쳤을 때,

어떤 일이 생기는지 알아 보도록 하자.


웹 브라우저가 설치되어 있는 컴퓨터에는
인터넷을 통해서 전기적인 신호를
info.cern.ch 에 해당되는 컴퓨터에게 찌릿 하고 보낸다.

그리고 그 신호 안에는

'나는 index.html 파일을 원합니다.'

라는 정보가 담겨 있다.
(이걸 어떻게 담는지는 마법이다. - 이고잉 선생님.ㅎ)

신호를 받은 웹 서버의 하드디스크에서
index.html 이라는 파일을 찾아서

그것을 웹 브라우저가 설치되어 있는 컴퓨터에게
다시 전기적 신호를 쏴준다.
(이 전기적 신호 안에는 index.html 이라는
파일 안에 저장되있던 코드가 담겨 있다) 이것 또한 마법이다........... - 이고잉 선생님왈 . ..

그랬을 시,
웹 브라우저가 설치되어 있는 컴퓨터에 어떤 정보가 도착하는가?

index.html 이라는 파일의
내용 이 도착하게 된다. = 즉 코드 가 도착한다.

코드 를 웹 브라우저가 읽어서
해석한 다음 화면에 표시하면,

우리가 알고 있는 웹 사이트 = 이 동작하게 되는 것이다.

웹 브라우저 :: 웹 서버

이 둘의 관계를 잘 보면 서로 정보를 주고 받고 있음을 알 수 있다.

그렇다면 이 중에서 웹 브라우저가 깔려 있는 컴퓨터는

정보를 요청하고 있는가, 아니면 응답하고 있는가?

정답은 요청한다 이다.

반대로 웹 서버가 설치되어 있는 컴퓨터는

정보를 응답하고 있는가, 아니면 요청하고 있는가?

정답은 응답한다 이다.

인터넷을 만든 사람들은 이 두대의 컴퓨터가 서로 정보를 주고 받을 때
각각의 컴퓨터를 역할에 따라서 어떻게 부를까를 고민했을 것이다.
그리고 그 말을 최대한 쉬운 말로 쓰고 싶었을 것이다.

우리의 자본주의 사회에서
가장 자주 사용되는 관계가 무엇일까?

바로, 고객과 사업자 이다.

고객은 영어로 하면 Client '클라이언트' 이고,

서비스를 제공하는 사람을 Server '서버' 라고 한다.

그래서

인터넷을 만든 사람들은
인터넷을 사용하는 컴퓨터들 사이에 정보가 왔다 갔다 할 때,

요청하는 컴퓨터를 클라이언트 Client 컴퓨터
응답하는 컴퓨터를 서버 Server 컴퓨터 라고 부르기로 했다.

우리가 지금 배우고 있는 것은 이다.
그래서 저 웹 브라우저 라고 이름 붙여진 것은
사실 웹 클라이언트 라고 부를 수도 있는 것이다.

만약 우리가 만들고 있는 시스템이 게임이라고 한다면,

그리고 이 게임인터넷에 연결되어 있다면

클라이언트 쪽,
즉, 사용자들이 게임을 하는 컴퓨터 또는 스마트폰에
설치되어 있는 프로그램은
게임 클라이언트

그리고 게임 회사가 가지고 있는 서버 컴퓨터에
설치되어 있는 컴퓨터는
게임 서버 라고 할 수 있다.

또, 채팅 시스템을 만든다고 가정했을 때
인터넷이라는 관점을 기준으로 한다면
채팅 클라이언트

채팅 회사가 갖고 있는 서버에 설치되는 프로그램은
채팅 서버 라고도 부를 수 있다.


우리는 이제 웹 브라우저의 사용법은 알고 있다.
웹 브라우저는 익숙하지만, 웹 서버는 낯설것이다.

웹 브라우저는 물질인가? 아니다.
웹 브라우저는 논리적이고 추상적인 대상의 시스템이다.

우리는 매일 같이 사용하고, 사람들과 얘기하고,
웹 브라우저에 대해 생각하기 때문에 이것이 물질적인 것이라고 생각하고 느끼게 되는 경향이 있다.

반대로 웹 서버웹 브라우저와 똑같이 인터넷에서 다운받아서,
컴퓨터에 깔고 켜서 쓰면 되는 그냥 일반적인 프로그램이다.

웹 서버에 대해, 그리고 웹 서버를 사용할 수 있게 된다는 것은

" 내 컴퓨터에 있는 문서를, 전 세계에 있는 누구나
인터넷이 연결되어 있는 컴퓨터에 웹 브라우저를 깔면
가져다가 볼 수 있도록 할 수 있다. "

라고 할 수 있다.

1. 자신의 컴퓨터에 웹 서버를 직접 깔아서 실습하기

2. 이런 일을 대행해 주는 업체에게 맡기기

위와 같은 두 가지 선택란이 있다.

위 두가지의 장단점은,

1 - 우리 컴퓨터에 직접 웹 서버를 설치하는 것은 어렵다.
하지만 이 과정에서 인터넷과 관련된 여러가지
개념을 배울 수는 있다.

2- 웹 호스팅이라는 것을 이용해서 회사에 맡기는 것은 쉽다.
하지만 인터넷이 동작하는 원리 등과 같은 것은
감춰져 있기 때문에 배울 수 있는 것이 적다.


다음 강의에서는

먼저 2번의 웹 호스팅 방법을 통해 쉽게 해보고
웹 서버를 통해 원리를 파악해 보는 방향성을
알아 나가는것을 실습해보고자 한다.

profile
개발자의 길을 공부합니다.

0개의 댓글