웹 프로그래밍(Web Programming)

서영호2020.07.03
조회131

 

 

 

다음 글은 며칠 전에 톡톡란에 올렸던 글 '클라이언트-서버 컴퓨팅 환경' 의 연속입니다.

 

웹프로그래밍이란 웹브라우저(web browser)가 설치된 클라이언트 컴퓨터(client computer)에게 인터넷을 통해 정보 서비스를 제공하기 위한 "서버 프로그램"을 개발하는 작업을 말한다.

 

이러한 서버 프로그램의 예로는 개인 혹은 회사의 홈페이지, 각종 행사 안내 사이트, 온라인 쇼핑몰(Online Shopping Mall)등이 있으며, 클라이언트 컴퓨터에서는 익스플로러(explorer), 파이어 폭스, 구글 크롬 등의 웹 브라우저를 사용하여 서버에 접속하게 된다.

 

따라서 웹프로그래밍을 위한 환경구축은 클라이언트에서의 웹브라우저 설치를 뜻하는 것이 아니라, 서버에서 동작할 홈페이지나 온라인 쇼핑몰 등의 개발을 위한 환경구축을 의미하게 된다.

 

일반적으로 웹프로그래밍을 위해서는 서버 컴퓨터에 웹서버 소프트웨어(software)를 깔아야 하고, 서버프로그램 개발을 위한 프로그래밍 언어를 설치해야 하고, 방대한 자료의 유지 관리를 용이하게 하기위한 데이타베이스를 설치해야 한다.

 

웹서버 소프트웨어는 웹브라우저와 대화를 하기 위한 소프트웨어(software)로서 웹브라우저의 요청에 대한 응답을 처리하는 역할을 해 주는 프로그램이다.

 

주로 이용되는 웹서버 소프트웨어에는 아파치(Apache), PWS(Personal Web Server), 그리고 IIS(Internet Information Service) 등이 있다.

 

보통 아파치의 경우에는 윈도우 환경과 리눅스 환경을 모두 지원하며, 나머지 웹서버 소프트웨어들은 윈도우 환경에서만 이용된다.

 

 

 

O. 웹 애플리케이션(Web Application)

 

웹 프로그램은 컴퓨터간의 데이타 교환을 목적으로 한다. 즉 네트워크 통신이 필수적이다. 그러나 웹 프로그램마다 네트워크 통신기능을 매번 구현한다는 것은 여간 힘든 일이 아니다.

 

구체적인 예로 포털 사이트(portal site)인 'nate의 홈페이지'를 들겠다.

 

제가 지금 '네이트 홈페이지'에서 글을 작성하고 있습니다. 이 네이트 홈페이지가 '서버' 입니다.

 

웹 프로그램은 동작하나를 수행하는데도 네트워크 통신이 발생한다. 네이트 계정에 본인의 ID와 비밀번호를 입력하고 '톡톡'란에 글을 올린다거나 과거에 작성한 글들을 보려면 제목을 찾아내오 클릭을 해야 됩니다. 이럴때마다 네트워크 통신이 발생한다는 말입니다.

 

그럼 이러한 기능을 개발자가 모두 구현해야 하는 것일까?. 결론부터 말하면 그럴 필요는 없다.

 

웹에서 네트워크 통신을 구현하는 프로그램을 미리 만들어 놓았다. 웹 서버와 웹 크라이언트가 바로 그것이다. 둘을 사용하면 웹에서 네트워크 통신을 통해 데이타를 교환하는 것이 가능하다. 개발자가 직접 구현할 필요도 없고, 걱정할 필요도 없다.

 

그러면 웹 서버와 웹 브라우저는 어디에서 내려받고 어떻게 설치하는지 공부해 보자.

 

MS(마이크로 소프트회사)의 인터넷 익스플로러가 바로 웹 브라우저이다. 이외에도 넷츠케이프, 오페라, 모질라 등이 있다.

 

대부분 사용자들은 자동으로 설치된 MS의 웹 브라우저인 인터넷 익스플로러(explorer)를 이용하여 데이타를 교환한다. 

 

그러나 웹 서버는 웹 서비스를 하려는 컴퓨터에 직접 설치해야 된다. 웹 브라우저 처럼 운영체제와 함께 자동으로 설치되지 않는다.

 

컴퓨터에 웹 서버를 설치를 해서 구동을 하면, 다른 컴퓨터에서 웹 브라우저를 통해 접근할 수 있다.

 

대표적인 웹 서버가 톰켓(Tomcat)이다. 이외에도 Resin, JRun, JBoss, WebLogic, SAS 등이 있다.