■ 웹 어플리케이션의 동작원리
-. 웹 어플리케이션이란 웹을 기반으로 실행되는 프로그램을 말한다.
-. 웹 프로그래밍(Web Programming)을 한다는 것은 웹 어플리케이션을 구현한다는 것을 의미한다.
■ 웹 어플리케이션의 동작 순서
① 사용자가 웹 브라우저의 주소 란에 특정 사이트의 주소를 입력하게 되면 웹 브라우저가 해당 웹 서버에
홈페이지를 요청하는 것이 된다.
② 해당 웹 서버에는 웹브라우저의 요청이 있을 경우 이를 받아들여 요청한 페이지를 응답할 책임을 지고 있다.
요청한 페이지는 웹 서버에서 바로 공급되지 못하고 웹 어플리케이션 서버(WAS : Web Application Server)에서
다양한 로직이나 데이터 베이스와의 연동을 통해서 완성되어야만 공급된다.
③ 웹 어플리케이션 서버(WAS)는 웹 서버가 클라이언트에게 제공할 페이지를 완성하기 위해서 이에 필요한 로직이나
데이터베이스와의 연동과 데이터 처리를 담당한다.
④ 로직이나 데이터베이스 작업 처리 결과를 웹 서버에게 보낸다.
⑤ 웹 서버는 이 결과를 클라이언트 측 웹 브라우저에 응답하게 된다.
---------------------------------------------------------------------------------------------------------
웹 어플리케이션(WAS : Web Application Server)이란 ? (웹스피어, 웹로직, 아이플리넷, 제우스..)
웹을 기반으로 실행되는 프로그램
웹 프로그래밍이란?(JSP, PHP, APS)
클라이언트 요청하게 되면 웹서버가 이를 처리한 후 결과를클라이언트에게 응답.. 동적으로 변화하는 데이터를 처리하는 역할.
이 둘의 관계는 웹프로그래밍을 통한 웹 어플리케이션의 구현
<<웹 어플리케이션의 구조>>
1. 웹 브라우저가 웹 서버에 어떠한 페이지를 요청하게 되면
2. 해당 웹 서버는 웹 브라우저의 요청을 받아서 요청된 페이지의 로직 및 데이터베이스와의 연동을 위해 어플리케이션 서버에 이들의 처리를 요청
3. 웹 어플리케이션 서버는 데이터베이스와의 연동이 필요하면 데이터베이스와 데이터의 처리를 수행한다.
4. 로직 및 데이터베이스 작업의 처리결과를 웹 서버에 돌려보낸다.
5. 웹 서버는 결과를 다시 웹 브라우저에 응답하게 된다!!
<< 웹 어플리케이션의 구성요소 >>
- 웹브라우저 : 웹에서 클라이언트이며, 사용자의 작업창이라 할 수 있다. 즉 사용자에게 보여지는 화면(유저 인터페이스 :UI)
- 웹 서버 : 웹 브라우저의 요청을 받아들이는 곳으로 작업의 결과를 웹 브라우저에게 응답을 하는 곳이다. 웹 브라우저의 요청을 받아서 알맞은 결과를 웹 브라우저에 전송한다. 만약 프로그램 처리가 필요하다면 어플리케이션 서버를 사용하거나 프로그램을 직접 호출하여 결과를 생성한다.
요청된 페이지의 로직 및 데이터베이스와의 연동을 위해 어플리케이션 서버에 이들의 처리를 요청하는 작업을 수행한다.
- 웹 어플리케이션 서버(WAS) : 요청된 페이지의 로직 및 데이터베이스와 연동을 처리하는 부분.. 게시판의 글 목록, 고르인 처리와 같은 기능을 처리하고 그 결과를 웹 서버에 전달한다.! ex) 웹로직, 웹스피어, 제우스...
- 데이터베이스 : 데이터의 저장소로 웹에서 발생한 데이터는 모두 이곳에 저장된다.(사이트의 정보를 저장) ex) 게시판의 글, 회원정보 등
<<웹 어플리케이션 서버 방식>>
CGI방식과 비교하면 쉽게 이해할 수 있다. CGI방식과 웹 어플리케이션 서버방식을 비교해서 설명해 보자.
두 서버방식의 기본 구조는 같지만
웹서버가 어떤 방식으로 사용하는가의 차이가 있다.
(1)CGI 방식(실행코드 방식) :
- 웹 서버가 어플리케이션 프로그램을 직접 호출하는 구조
즉, 한 요청에 대해 한 프로세스가 생성 되어 요청을 처리한뒤 종료된다.
따라서 시스템에 많은 부하를 가져온다.
* 프로세스 : 메모리 할당을 받은 프로그램으로 실행중인 프로그램을 의미한다.
(2) 웹 어플리케이션 서버 방식(스크립트 코드 방식) :
웹 서버가 어플리케이션 서버에게 처리를 넘겨주고 어플리케이션 서버가 어플리케이션 프로그램을 처리한다.
한 클라이언트 당 1개의 프로세스만을 할당 하고 사용자의 요청을 쓰레드 방식으로 처리.
* 쓰레드 : 프로세스 내의 명령을 블록으로 프로세스 내에 존재.
쓰레드는 메모리를 따로 할당받지 않는다.
하나의 프로세스를 여러개의 쓰레드로 나누어 동시에 처리하는 것을 다중 쓰레디ㅇ이라 한다.
메모리를 점유하지 않으면서 프로그램 수행 속도를 향상시킨다.
<<웹 어플리케이션의 구현 방식>>
- 클라이언트 사이드 스크립트(Client Side Script) : 클라이언트 쪽에서 처리
ex) JavaScript, VBScript
- 서버 사이드 스크립트(Server Side Script) : 서버에서 처리
ex) ASP, JSP : PHP
1) 실행코드방식 :
미리 컴파일된 실행 프로그램을 사용자의 요청에 따라 실행.
2) 스크립트 코드 방식 :
사용자의 요청이 있을 때 스크립트 코드를 번역해서 번역된 코드를 실행.
스크립트 코드 방식을 사용하는 스크립트 언어를 사용하는 것이 쉽고 빨르게 웹 어플리케이션을 구현할수 있다.
'JSP > JSP 정리' 카테고리의 다른 글
DB정리!!! (0) | 2012.09.26 |
---|---|
JSP 수업. (0) | 2012.09.25 |
Chpater 1. 웹 프로그래밍 기초. (0) | 2012.08.16 |
웹 서버란 (0) | 2012.08.16 |
JSP란 무엇인가. (0) | 2012.08.16 |