1. 웹 어플리케이션 (Web Application)
- 웹을 기반으로 실행되는 어플리케이션을 의미한다.
- 웹 브라우저에 URL 주소로 웹 어플리케이션에 기능을 요청하고 요청을 받은 웹 어플리케이션은 요청한 기능에 알맞은 결과 화면을 생성해서 웹 브라우저에 전송한다.
- 웹 서버, 어플리케이션 서버, 데이터베이스와 같은 구성 요소들을 필요로 한다.
- 웹 서버와 어플리케이션 서버를 연동하여 정적에(HTML, CSS, 이미지 파일 등) 대한 요청은 웹서버가 제공하고
- 동적(JSP나 서블릿) 대한 요청은 웹 서버가 어플리케이션 서버에 전달하도록 구성한다.
구성 요소 | 역할 | 주요 제품 |
웹 서버 | 웹 브라우저의 요청을 받아서 알맞은 결과를 웹 브라우저에 전송한다. 처리가 필요하다면 어플리케이션 서버를 사용한다. | 아파치(Apache), nginx 등 |
어플리케이션 서버 | 게시글 목록, 로그인 처리와 같은 기능을 실행(처리)하고, 그 결과를 응답으로 웹 서버에 전달한다. | 톰캣(tomcat), JBoss 등 |
데이터베이스 | 웹 어플리케이션이 필요로 하는 데이터를 저장한다. | 오라클(Oralce), MySQL 등 |
웹 브라우저 | 웹 서버에 서비스 실행을 요청하며, 웹 서버의 처리 결과를 사용자에게 보여준다. | 익스플로러, 구글크롬 등 |
2. CGI 방식, 어플리케이션 서버 방식
- 기본적으로 웹 어플리케이션은 웹 브라우저의 요청을 알맞게 처리하고 그에 대한 결과를 웹 브라우저에 전달한다. (요청 > 처리 > 응답)
- 이때 웹서버가 웹 어플리케이션 프로그램을 실행하는 방식에 따라서 CGI 방식, 어플리케이션 서버 방식 형태로 구분할 수 있다.
- 이 두 방식의 차이점 : 웹 서버가 직접 프로그램을 호출하는지 여부, 메모리에 로딩 방식 차이로 인한 처리량 차이
- CGI 방식 : 웹 브라우저가 웹 서버에 프로그램 실행을 요청하면 웹 서버는 펄이나 C로 작성된 CGI 프로그램을 직접 실행하고 결과를 웹 브라우저에 전송한다.
- 어플리케이션 서버 방식 : 어플리케이션 서버가 프로그램의 실행 결과를 웹 서어베 전달해주고, 웹 서버는 어플리케이션 서버로 부터 전달 받은 응답 결과를 웹 브라우저에 전송한다.
3. 스크립트 방식과 실행 코드 방식
- 스크립트 방식 : 웹 브라우저 요청 > 웹 서버 요청 받음 > 스크립트코드 번역 > 번역된 코드 실행
- 실행 코드 방식 : 웹 브라우저 요청 > 웹 서버 요청 받음 > 프로그램 실행
- 스크립트 코드 번역은 최초 요청은 대해서 한번만 발생하고, 이후의 요청에 대해서는 번역 과정 없이 앞서 번역된 코드를 실행하도록 한다.
- 실행 코드 방식의 경우 일반적으로 CGI 방식이고, 스크립트 코드 방식인 JSP나 ASP는 어플리케이션 서버 방식이다.
- 스크립트 언어를 번역한 코드가 일반 프로그램과 동일한 수준의 성능을 제공하고 있다.
- 스크립트 언어를 사용할 경우 더 쉽고 빠르게 어플리케이션을 구현할 수 있는 장점이 있다.
비교 항목 | 실행 코드 방식 | 스크립트 방식 |
코드 형태 | 컴파일 된 실행 프로그램 | 컴파일 되지 않은 스크립트 코드 |
실행 형태 | 컴파일 된 기계어 코드 직접 실행 | 스크립트 코드를 해석해 뒤 실행 |
코드 변경 | 소스 코드를 다시 컴파일 해야 함 | 스크립트 코드만 고치면 됨 |
종류 | C 기반 CGI 프로그램 | JSP, ASP.net, PHP, RUby 등 |
4. URL, 웹 어플리케이션 주소
- URL(Uniform Resource Locator) : [프로토콜]://[호스트][:포트][경로][파일명][.확장자][쿼리문자열]
- 프로토콜 : 서버와 클라이언트가 통신할 때 사용할 프로토콜을 입력한다.
- 호스트 : 클라이언트가 접속할 서버 주소를 입력한다.
- 포트 : 서버와 클라이언트가 통신할 때 사용할 포트를 입력한다.
- 경로,파일명,.확장자 : 서버에서 가져올 자원의 위치를 입력한다.
- 쿼리문자열 : 주소 뒤에 추가로 붙는 정보로써 '파라미터(parameter)'라고 불리는 데이터를 웹 어플리케이션에 전달할 때 사용한다. 각각의 파라미터는 '&'로 구분한다.
'자바 > JSP' 카테고리의 다른 글
JSP 페이지의 구성 요소 (0) | 2015.12.22 |
---|---|
JSP & Servlet (0) | 2015.12.22 |
JSP 내장객체에는 9가지 (0) | 2015.12.22 |
JSP - response 내장 객체 (0) | 2015.11.20 |
JSP - HTTPServletRequest 메소드 정리 (0) | 2015.11.20 |