웹 프로그래밍은 동적 웹 프로그래밍(JSP)과 정적 웹 프로그래밍(초기 웹 프로그래밍)으로 구분할 수 있다.
1. 정적 웹 프로그래밍 ( Static Web Programming)
- 웹 서버(Apache)에 미리 보여줄 HTML, CSS, img, JavaScript 등의 파일을 정해놓고, 사용자가 요청할 경우 전달하는 방식
- 사용자는 페이지가 변경되지 않는 한 고정된 웹 페이지를 보게된다.
- UI 구성이나 이벤트 처리 등에 사용
- 구성요소: 웹 서버, 클라이언트, HTTP, HTML, JavaScript, CSS
* 문제점: 환율, 주가와 같은 실시간 정보를 처리하기 위해서는 관리자가 HTML 코드를 수시로 업데이트해줘야 한다.
→ 이와 같은 이유로 요새는 많이 사용하지는 않지만, 디자인이나 이벤트를 처리하는 용도로는 중요하게 사용된다.
2. 동적 웹 프로그래밍 ( Dynamic Web Programming )
- 처음에는 CGI(Common Gate Interface)로 동적 방식을 제공하였다.
*대표적인 언어로 펄(Perl)이 있다.
* CGI 동작방식의 특징
- 초기 웹 프로그램에서 사용하는 방식
- 프로세스 방식으로 실행 ┐
- 서버의 부하가 심함 : 정보 요청시마다 WAS가 해당 기능을 수행하는 프로세스를 메모리에 생성
CGI는 이러한 동작방식 때문에 다음과 같은 문제점이 발생한다.
- 같은 동작을 사용하더라도 각 경우마다 처음부터 메모리에 로드해서 수행
- 초기엔 사용자나 기능이 많지 않아서 문제가 없었으나 규모가 커짐에 따라 메모리에 과부하가 발생
→이러한 문제점들을 해결하기 위해 JSP, ASP, PHP가 등장
3. JSP 프로그램의 특징
JSP는 기본적으로 스레드 방식으로 실행하기 때문에 CGI보다 효율적이다.
- 클라이언트의 요구를 처리하는 기능이 최초 한 번만 메모리에 로드된다.
- 동일한 기능을 요구할 시, 해당 프로세스를 재사용한다.
- 속도/메모리 모두 good
참고 도서: [이병승, 길벗] 자바 웹을 다루는 기술
'개발 > JSP Servlet' 카테고리의 다른 글
웹 애플리케이션(Web Application) (0) | 2021.12.04 |
---|---|
프로그램의 발전 과정, 웹 기반 프로그램 (0) | 2021.11.25 |