본문 바로가기

Code.D IT 강좌/ETC

[웹 어플리케이션] 클라이언트 서버 모델 개념 및 원리


웹 어플리케이션(Web Application)이란?


인터넷이나 인트라넷을 통해 '웹 브라우저'라는 매개체에서 이용할 수 있는 응용 프로그램을 말합니다.




웹 어플리케이션(Web Application)의 장점


① 다양한 기기 및 OS에 접근이 가능합니다.

② Web browser 내에서는 다양한 UI 및 시각적인 디자인이 가능합니다.

③ 설치를 별도로 하지 않아도 유지 관리할 수 있으며, 언제 어디서든 사용할 수 있습니다.




웹 어플리케이션(Web Application)의 동작 순서


① 클라이언트(웹 브라우저, 웹 클라이언트, 사용자)가 웹 서버에 요청을 합니다.

② 웹 서버는 클라이언트가 요청한 기능을 처리한 후, 클라이언트에 결과를 전송합니다.

③ 클라이언트는 웹 서버로부터의 응답결과를 출력합니다.


우리가 인터넷 서핑 등을 할 때, 위의 웹 어플리케이션 동작(클라이언트가 서버에 요청을 보내고 응답을 받는 과정)이 끊임없이 일어난다고 보면 됩니다.




클라이언트 서버 모델(Client-Server Model)



출처: 생활코딩, https://opentutorials.org/course/1688



Web Application은 수행되는 위치와 구현하는 방식에 따라 ClientServer라는 두 개의 축으로 나눠집니다. 클라이언트(Client)는 서비스를 사용하는 이용자 혹은 이용자의 단말기를 나타냅니다. 일반적으로 클라이언트는 Chrome이나 Explorer 등의 웹 브라우저를 지칭합니다. 서버(Server)는 다수의 클라이언트에게 서비스를 제공하며 상당히 큰 용량과 성능을 지닌 컴퓨터를 의미합니다.



클라이언트측 Web Application

클라이언트는 일반적인 웹 사용자의 인터넷이 연결된 장치들과 이런 장치들에서 이용 가능한 웹 브라우저(웹 클라이언트)에 접근하여 서버에 요청하는 소프트웨어입니다. 클라이언트측에서는 Java Applet, Java Script, HTML, Active-X Control 등의 기술이 사용됩니다.



서버측 Web Application

웹 어플리케이션에서의 모든 자원은 Server에 집중됩니다. 서버에서 일차 수행되면서 서버의 자원을 화용하고, 그 결과를 서버로부터 클라이언트 장치에 제공하게 됩니다. 서버측에서는 ASP, 미들웨어(PHP), 데이터베이스(MySQL), CGI 등의 기술이 사용됩니다.



PC에 웹 서버를 설치해야 하는데요, 웹 서버에는 Apache, Nginx, IIS 등이 있습니다. 경쟁구도를 살펴보면, 아파치(Apache)는 오래 전부터 1등을 놓친 적이 없을 정도로 인기가 있습니다.



 출처: 생활코딩, https://opentutorials.org/course/1688/9408




아파치(Apache) 서버


오픈소스 소프트웨어 그룹인 아파치(Apache) 소프트웨어 재단에서 관리하는 Web Server program입니다. 아파치는 모듈이라는 개념으로 상당히 많은 기능을 추가할 수 있어 확장성이 뛰어나며 이 모듈을 통해 다른 프로그램과 호환이 가능합니다. 이런 장점들 때문인지 아파치(Apache)는 2017년 3월 한국 전체 등록 도메인 중 42.39%가 사용하고 있을 정도로 인기 있으며 현재 전 세계적으로도 가장 인기 있는 웹 서버입니다.



다음 포스팅에는 아파치(Apache) 서버의 설치 과정과 기본 설정에 대해서 알아보도록 하겠습니다.