1. 웹 어플리케이션이란
웹 브라우저 상에서 HTTP 프로토콜 및 HTML문서를 근간으로 수행되는 어플리케이션을 의미한다.
또한 인터넷이나 인트라넷을 통해 웹 브라우저에서 이용할 수 있는 소프트웨어를 말한다.
RIA나 Ajax같은 기술들을 통해 데스크탑 상에서 독립적으로 실행되는 독립 어플리케이션과 비슷한 수준의 속도와 유저 인터페이스를 갖추게 되었다.
2. 웹 어플리케이션의 구조
Client Tier :
- 사용자가 실제로 접하는 프로그램
- 프로그램이 설치된 컴퓨터, PDA, Mobile Phone
Server Tier :
- Client Tier와 Data Tier를 연결해주는 소프트웨어 또는 하드웨어
Data Tier:
- 하부 단의 저장매체
- 파일 서버나 데이터베이스 서버 등이 설치된 컴퓨터, 혹은 각종 하드웨어 장비
웹 어플리케이션의 흐름
1. 웹 브라우저가 웹 서버에게 특정 페이지 요청
2. 해당 웹 서버는 웹 브라우저의 요청을 받아서 요청된 페이지의 로직 및 DB와의 연동을 위해 웹 어플리케이션 서버에 이들의 처리를 요청
3. 웹 어플리케이션 서버는 DB와의 연동이 필요하면 DB와의 데이터 처리를 수행
4. 로직 및 DB작업의 처리 결과를 웹 서버에 리턴
5. 웹 서버는 결과를 다시 웹 브라우저에게 응답
* 웹 서버와 웹 어플리케이션 서버(WAS)의 차이점
웹 서버 :
- 웹 브라우저(클라이언트)의 요청을 받아들이는 곳
- HTTP 프로토콜을 기반으로 클라이언트가 요청한 작업의 결과를 웹 브라우저에게 응답해주는 역할 담당
- HTTP 서버라고도 하며 주로 정적인 HTML, 이미지, CSS, Javascript를 웹 브라우저에게 제공할 때 사용
- 로직 수행이나 DB와의 연동을 위해 WAS에 처리 요청하는 작업 수행
- Apache, IIS
웹 어플리케이션 서버
- 웹 브라우저가 요청한 작업에 필요한 프로그래밍 로직의 처리 및 DB와의 연동을 처리하는 부분
- 처리 결과를 웹 서버로 전달
- 대부분의 WAS는 크게 웹 서버 기능과 컨테이너 기능으로 구성된다.
- Apache Tomcat, WebLogic(BEA), WebSphere(IBM), Jeus 등
클라이언트 스크립트와 서버 스크립트
클라이언트 스크립트 | 서버 스크립트 | |
수행 장소 | 웹 브라우저 | 웹 서버, WAS |
제어 모듈 | 항상 브라우저에 포함 | 웹 서버에 포함되어 있거나 관리자가 직접 설치하거나 관리함 |
목적 | 사용자의 요청에 즉각적인 반응을 보이거나 웹 문서의 모습을 동적으로 변경 | 동적인 웹 문서 생성 |
기술 | HTML, Javascript, RIA, Ajax | ASP, PHP, JSP, Servlet, Node.js |
'DEVELOP > BackEnd' 카테고리의 다른 글
URI와 URL의 차이점 (0) | 2019.10.14 |
---|---|
서블릿(Servlet) 프로그래밍 4 (0) | 2019.09.29 |
서블릿(Servlet) 프로그래밍 3 (0) | 2019.09.29 |
서블릿(Servlet) 프로그래밍 2 (0) | 2019.09.26 |
서블릿(Servlet) 프로그래밍 (0) | 2019.09.26 |