티스토리 뷰

반응형

- 웹 어플리케이션 구축을 위한 구성요소 

 

웹서버, 어플리케이션 서버, 데이터베이스, 웹브라우저

 

엔드유저가 접근하는 방식은

 

웹브라우져 -> 웹서버 -> 어플리케이션 서버 -> DataBase

 

여기서 브라우저로 다시 돌아온다. 

 

웹서버 : 아파치(Apache), nginx 등

어플리케이션 서버 : tomcat, jBoss 등

데이터 베이스 : MSSQL, MySQL, Oracle 등

웹브라우저 : 인터넷 익스플로러, 구글 크롬, 파이어 폭스 등

 

* 주요 개념

 

웹서버는 정적인 HTML 과 CSS를 제공하는데 초점이 맞춰져 있고,

어플리케이션 서버는 JSP, 서블릿 같은 프로그램을 실행하여 결과를 제공하는데 초점이 맞춰져 있다.

따라서 구성은 위의 분류에 따라 구성한다.

 

-  CGI 방식과 어플리케이션 서버 방식

 

CGI는COmmon Gateway Interface의 약자로서 웹 서버와 프로그램 사이에 정보를 주고 받는 규칙을 의미한다. 흔희 CGI 프로그래밍이라고 하면, 펄(Perl)이나  C/C++ 언어 등을 사용하여 웹 서버가 실행할 수 있는 프로그램을 작성하는 것을 의미 한다.

 

 

CGI 방식은 직접 적으로 웹 서버를 통해 프로그램 실행을 요청하면, 펄 프로그램 이나 C 프로그램을 직접 실행하게 된다. (예 .cgi로 끝나는 곳은 CGI방식을 사용한걸 알 수 있다.)

 

어플리케이션 서버 방식은 웹 서버가 어플리케이션 서버를 통해서 간접적으로 프로그램을 실행 시킨다. 이후 실행된 프로그램은 어플리케이션 서버가 웹 서버로 전달 해주고 이후 웹 서버는 웹 브라우저로 결과를 전달 해 준다.

 

접속자가 많은 서비스의 경우 CGI 방식보다 어플리케이션 서버 방식의 성능(처리량)이 더 좋게 나타난다. 이유는 프로그램이 실행 될때 CGI 방식은 직접 실행을 시키기 때문에 호출시마다 메모리에 프로그램이 올라가게 되지만. 어플리케이션 서버에서는 다수의 요청이 어플리케이션 서버에 모인 뒤 프로그램을 한번만 실행시키기 때문에 메모리에 한번만 로딩하게 된다.

 

자세한 내용은 책 참고.

 

* 짜투리

처리 속도와 처리량

 처리 속도는 어떤 작업을 수행하는데 걸리는 시간을 의미한다.

 처리량은 일정한 시간 동안 얼마나 많은 양의 작업을 처리했는지를 나타낸다.

 

자세한 내용은 책 참고.

 

- 스크립트 방식과 실행 코드 방식

 

실행 코드 방식 특징

컴파일된 실행 프로그램

컴파일 된 기계어 코드 직접 실행

소스 코드를 다시 컴파일 해야 함

C 기반 CGI 프로그램

 

웹 브라우저 요청 전송 -> 웹 서버 요청 받음 -> 프로그램 실행

 

 

스크립트 방식 특징

컴파일 되지 않은 스크립트 코드

스크립트 코드를 해석한 뒤 실행

스크립트 코드만 고치면 됨

JSP, ASP.net, PHP, Ruby 등

 

웹 브라우저 요청 전송 -> 웹 서버 요청 받음 -> 스크립트 코드 번역 -> 번역된 코드 실행

 

스크립트 코드 방식이 번역 부분이 추가되어 속도가 느려질 것 같지만

스크립트 코드 번역은 최초 요청에 대해서만 한 번만 ㅅ발생하며, 이후의 요청에 대해서는 번역 과정 없이 앞서 번역된 코드를 실행하도록 함으로써 번역 횟수를 최소화 하고 있다.

실행 코드 방식의 경우 일반적으로 CGI 방식이고, 스크립트 코드 방식은 JSP나 ASP는 어플리케이션 서버 방식이기 때문에 전체 처리량에서는 JSP/ASP 기반의 스크립트 코드 방식이 앞선다.

기술의 발달로 스크립트 언어를 번역한 코드가 일반 프로그램과 동일한 수준의 성능을 제공하고 있다.

 

반응형

'Web Development > 기초' 카테고리의 다른 글

JSP Model1 과 Model 2 차이  (0) 2016.04.18
쿠키와 세션  (0) 2016.04.18
Java Servlet에 관하여  (0) 2016.04.18
서블릿과 JSP  (0) 2016.04.18
JSP 필수 이해 요소  (0) 2016.04.18