Image
Image

3. 웹 브라우저 와 웹 서버의 역할 이해하기

3. 웹 브라우저 와 웹 서버의 역할 이해하기 : 30분

그럼 지금까지 언급한 웹과 클라이언트/서버 개념 하에서 각종 웹 기반 시스템들의 핵심 클라이언트/서버 소프트웨어인 웹 브라우저 와 웹 서버의 역할에 대해 더 이야기 해보도록 하겠습니다.
손 쉬운 시나리오 하나를 들어보면 여러분이 노트북 컴퓨터를 켜고 웹 브라우저를 오픈하고 네이버 또는 구글 사이트에서 특정 정보를 조회하고 특정 웹 페이지를 열어 해당 화면을 보고 있다고 가정하면 여러분이 클라이언트이고 클라이언트 소프트웨어는 현재 사용하고 계신 웹 브라우저(크롬,IE..)가 되는 것 입니다. 

위 시나리오에서 서버는 네이버나 구글 회사가 될 테 고 여러분의 정보 검색요청에 대한 결과 웹 페이지를 네이버/구글 서버 컴퓨터상에 설치된 웹서버(Apache,IIS) 소프트웨어가 해당 웹페이지를 제공하였을 것입니다.     
아래 그림은 위에서 말한 시나리오를  웹 브라우저와 웹서버를 중심에 두고 통신 관점으로 정리한 내용입니다. 

 

상기 그림에서 핵심적으로 이해할 것은 웹 브라우저 와 웹 서버간의 통신 프로세스와 상호간의 역할입니다.
웹 브라우저를 통해 사용자가 특정 웹사이트를 호출하면 주로 아래와 같은 프로세스에 의해 서버상의 웹페이지가 

사용자 웹브라우저에  전달되어집니다.
1) 사용자는 컴퓨터(PC,스마트폰)에 설치된 웹 브라우저를 오픈합니다.
2) 웹 브라우저의 주소창에 원하시는 서비스 제공업체의 웹사이트 도메인 주소를 입력합니다.
3) DNS 서버를 이용해 입력 도메인 주소로 서비스 되는 실제 웹사이트 제공 서버의 IP주소를 찾아냅니다.
4) 사용자 컴퓨터는 서버 컴퓨터 IP를 통해 서버 컴퓨터와 직접 연결됩니다. 
5) 사용자 컴퓨터와 서버 컴퓨터간 연결이 완료되면 사용자 컴퓨터의 웹 브라우저 소프트웨어를 통해 사용자가 요청한 웹페이지(도메인 주소만 있는 경우 디폴트 메인 웹페이지 제공)를 서버 컴퓨터내 웹서버 소프트웨어가 웹서버내 웹사이트에서 해당 페이지를 호출하여 그 결과를 HTML 문서 형태로  사용자 웹 브라우저에게 제공한다.
6) 서버로부터 전달받은 웹페이지 소스와 관련 리소스(CSS,Image,Javascript)를 사용자 웹브라우져가 사람이 알아볼수 있는 UI/UX 형태로 해석하여 웹 브라우져 화면으로 출력합니다.    


웹서버와 웹브라우저의 기본적인 역할에 대해 간략히 정리해보겠습니다.

1)웹서버의 역할
-HTML문서를 구성하는 각종 웹페이지 리소스(CSS,Javascript,이미지)등의 공유 저장소 역할제공
-웹서버는 공인IP,도메인,저장소를 통해 24시간 365일 안정적으로 웹페이지를 요청자에게 제공가능한 환경제공
-웹서버내에는 각종 웹페이지들로 구성된 다양한 웹사이트를 구축하고 동시 서비스 제공가능 

웹서버의 기본적인 목적은 개발자나 퍼블리셔에 의해 만들어진 각종 웹페이지 리소스(html,css,javascript,image…)들을 여러사용자들이 언제든지 인터넷망을 통해 접근할 수 있는 저장소로서의 역할을 제공하며 요청 시 해당 리소스를 HTTP 통신 기반에 웹페이지를 요청한 웹 브라우저에 제공(응답)하는 기능을 제공합니다.

2)웹 브라우저의 역할
-서버에서 전달된 코드 형태의 HTML 문서(CSS,Javascript포함)를 해독하는 해석기 역할제공
-웹 브라우저를 통해 해석된 코드는 사람이 쉽게 보고 이해할 수 있는 형식으로 브라우저 화면에 표시.
-웹 브라우저는 HTML,CSS,Javascript 코드가 실제 실행되고 해석되는 환경(런타임환경)을 제공
-웹 브라우저는 웹서버에서 제공하는 특정 웹페이지를 요청할 수 있으며 관련 리소스를 웹서버로부터 전달받아 사람이 이해하기 힘든 각종 코드형태의 HTML 문서내용을 해석(인터프리팅)하여 사람이 쉽게 보고 이해할 수 있는 형태로 표현하고 상호작용 할 수 있는 웹페이지의 실행 환경(런타임환경)을 제공합니다.


3)인터넷 통신과 도메인, DNS(Domain Name Service or Server)에 대한 이해

웹사이트는 인터넷 통신망을 통해 사용자 컴퓨터와 웹사이트를 제공하는  웹서버 컴퓨터 상호간 연결되며 통신을 통해 서버컴퓨터에서 존재하는 웹사이트 내 웹페이지를  사용자 컴퓨터의 웹 브라우저에 전달되고 해석되어 사용자에게 보여집니다.
실질적으로 모든 컴퓨터간 통신은 IP주소(IP Address)를 통해 통신이 이루어지며 이러한 IP주소는 일반적으로 통신사를 통해 제공되어집니다.

사용자컴퓨터(PC,노트북,태블릿,스마트폰...)와 서버컴퓨터간 통신 뿐 만 아니라 모든 컴퓨터간 통신 할 때는 컴퓨터마다 고유한 공인 IP주소를 반드시 보유하고 있어야 하며 인터넷 통신망내에서는 IP주소가 통신망내 컴퓨터와 컴퓨터를 구분해줄 수 있는 유일한 키 또는 주소로 사용되어 컴퓨터들간 서로를 구분하고 식별합니다.

원론적으로 이야기를 하면 웹 브라우저가 설치된 사용자 컴퓨터는 웹사이트를 서비스하는 웹서버 컴퓨터와 통신하기 위해서 서버 컴퓨터 IP주소를 알아야  서버 컴퓨터에 접속하고 웹서버와 통신이 가능합니다.
컴퓨터들끼리 실제 통신할 때는 아이피 주소를 사용하기에 사람들이 자주 사용하는 웹사이트가 있다면 원론적으로는 해당 웹사이트를 제공하는 서버 컴퓨터의 아이피 주소를 외우고 다니다 웹 브라우저 주소에 해당 IP를 입력해 줘야합니다.
하지만 모든 웹사이트의 서버 IP주소를 모두 외우고 다니기에는 현실적으로 상당히 어렵고 불편한 점이 있습니다.
그래서 각종 웹사이트를 서비스하는 서버 컴퓨터들의 IP주소를 사람들이 쉽게 기억하고 이해할 수 있는 문자 주소체계로 관리해주는 방법이 생겨났는데요. 그것이 "naver.com","mixedcode.com" 과 같은  도메인 주소(Domain Address) 체계입니다.
인터넷 통신환경에서 컴퓨터간 실제 통신할 때 사용되는 숫자 주소체계인 IP주소와 인간들의 기억력에 한계를 도와 주기 위해 생겨난 문자 주소체계인 도메인 주소는 상호 맵핑 되는 구조를 가집니다.


굳이 숫자형 아이피 주소를 외우지 않고 도메인만 알면 자동으로 통신 과정 중에 IP정보를 찾아주어 컴퓨터들끼리 IP를 통해 통신할 수 있게 자동화 처리해주는 서비스를 DNS(Domain Name Service=도메인 네임 서비스) 라고 합니다.
그리고 이러한 DNS서비스를 제공하는 서버 컴퓨터를 DNS서버라고 합니다.
인터넷망에서는 무수한 DNS서버가 존재하며 여러분이 도메인이란 것을 구매하면 대부분 해당 도메인 판매업체에서 기본적으로 해당 도메인주소를 이용해 서비스하는 서버컴퓨터의 주소를 맵핑 관리해주는 DNS서버를 무료로 제공해줍니다.
해당 도메인 구매 업체에서는 DNS 네임서비스를 제공하고 있어 구매자가 언제든 해당 도메인을 이용해 특정 서버를 통해 서비스를 원한다면 관련 도메인 주소와 서비스 제공서버 IP주소를 맵핑 관리해주는 서비스를 무료로 제공해드립니다.  

아래 그림은 사용자 컴퓨터 브라우저에서 특정 도메인을 입력하면 해당 도메인 주소를 관리 해주는 DNS서버를 통해 해당 웹사이트를 서비스하는 웹서버 컴퓨터의 실제 IP주소를 알아낸 후 사용자 컴퓨터와 서버컴퓨터간 HTTP통신을 통해 웹페이지를 주고받는 과정과 순서를 보여줍니다. 


Image

댓글목록

Image