1. 웹 서버(Web Server)
1.1. 종류
- Apache, IIS, Nginx
1.2. 기능
- 웹 브라우저(클라이언트)의 어떤 요청에 대해 정적인 html 페이지로 콘텐츠를 제공하는 서버로, HTTP 프로토콜을 통해 html 파일 또는 jpeg, gif 와 같은 이미지 파일, 영상 파일 등을 전달한다. 따라서 모든 클라이언트가 동일한 정보를 제공받게 된다.
2. WAS(Web Application Server)
2.1. 종류
- Tomcat(Apache S/W Foundation), Jeus(TMax), Web Sphere(IBM), Web Logic(BEA)
2.2. 기능
- 웹 브라우저(클라이언트)의 어떤 요청에 대해 웹 서버로 부터 정적 데이터 처리 부분을 제외한 나머지 DB조회나 비즈니스 로직처리 작업 요청(*.jsp, *.asp)을 넘겨 받아 서블릿(Servlet) 하나를 생성하여 이를 수행하고 html 결과물을 웹 서버를 통해 전달한다.
- 다수의 사용자가 동일한 페이지를 요청하여 같은 서블릿(Servlet)을 수행해야 할 때, 오직 하나의 프로세스로 동작하고 각각의 사용자 요청에 대해서 쓰레드를 할당하는 방식으로 처리한다.
3. CGI(Common Gateway Interface)란?
- 웹서버가 보통 백 엔드 프로그램(CGI 프로그램 또는 CGI 스크립트라고 부름)과 통신이 가능하도록 하는 일종의 규약이나 정의 방법이다. 주로 웹 브라우저에서 웹 서버를 경유하여 데이터베이스 서버에 질의를 하는 등 대화형 또는 동적 웹사이트를 제작하고자 할 때 쓰이는 방식으로 데이터베이스에 접근하여 비즈니스 로직을 수행하는 프로그램들과 웹 서버를 직접 연동시킬 수 있다.
3.1. CGI 프로그램 개발언어 종류
- C/C++, Delphi, Perl, Visual Basic
3.2. 단점
- 웹 서버가 백 엔드 프로그램을 직접 호출하는 구조이기 때문에 유저가 웹 서버에 어떤 요청을 할 때마다 새로운 프로세스를 생성하여 처리하고 종료하는 식으로 동작하게 된다. 따라서 다수의 유저가 한꺼번에 몰리는 상황이 될 경우엔 시스템에 많은 부하를 가져올 수 있다. 이러한 단점으로 인해 WAS 방식이 대안이 되고 있다.
* 참고 : IIS(Web Server)는 WAS 기능을 제공하며, Tomcat(WAS Server)는 Web Server 기능을 포함한다.
http://hiphop9n.tistory.com/4
http://blog.naver.com/kksssii/220645521039
http://dorosytime.tistory.com/54
http://blog.naver.com/myo1026/220285237085
'IT지식' 카테고리의 다른 글
오픈소스 라이선스(License) 가이드 (0) | 2018.08.02 |
---|---|
VirtualBox Network Setting (0) | 2016.12.15 |
고가용성(High Availability) 서버 구성하기 (0) | 2016.05.16 |
L4/L7 Switch Load Balancer (0) | 2016.05.13 |
Facebook 서버구조와 기술 (0) | 2016.05.12 |