[JSP] 웹 애플리케이션 개요와 CGI 정의, JSP 특징 탄생 이유

웹 어플리케이션의 개요

 

웹 애플리케이션 정의

웹 어플리케이션이란 인터넷을 기반으로 구성된 웹상에서 웹 브라우저를 이용한 클라이언트와 HTML(정적 웹 컴포넌트), JSP/Servlet(동적 웹 컴포넌트) 같은 자원을 가진 웹 서버 간에 동적으로 요청/응답 처리하는 프로세싱을 의미한다. 

 

정적인 특징과 동적인 특징

초창기 웹은 정적인 특징을 갖는 HTML만으로 서비스가 가능했으나 다양한 사용자들의 요구를 만족시키기에 매우 부족하였다. HTML의 정적인 특징이란, 이미 만들어진 HTML 문서는 요청 시점과 장소에 무관하게 항상 고정된 웹 페이지로 처리된다는 것이다. 

예를 들어, 현재 시간을 구하는 요청이 발생되었을 때 HTML로 만든 경우에는 항상 동일한 시간을 결과 값으로 처리한다. 다. 정적인 특징은 항상 같은 화면(값)만 보여주는 것이다. 하지만 JSP로 만든 경우 동적인 특징을 가지므로 사용자가 현재 시간을 구하는 요청이 발생할 때마다 다른 화면(값)을 보여준다.

 

CGI(Common Gateway Interface) 정의

초창기 HTML과 같은 정적인 특징인 아닌, 사용자의 요청 시 동적으로 실동적으로 실행되어 원하는 결과 값을 응답 처리하는 새로운 방법이 필요했으며 이것을 CGI(Common Gateway Interface)라고 한다.

CGI는 동적으로 실행되는 웹 프로그래밍의 작성 및 요청/응답 방법 등을 정해놓은 명세라고 생각하면 된다. 예를 들어 '웹 서버로 데이터를 전송할 떄에는 html의 form 태그를 사용해야 하고, URL을 이용하며 HTTP 프로토콜을 사용한다'와 같은 규칙 등을 의미한다.

 

CGI 웹 컴포넌트 종류와 특징

CGI 명세를 구현한 실제적인 동적 웹 컴포넌트로서 제작된 주요 기술들로 ASP(Active Server Page), PHP(Personal HyperText Processor), JSP/Servlet 이 있다. ASP는 VisualBasic 언어를 기반으로 제작되었고 PHP는 C 언어를 기반 JSP는 자바 기반으로 만들어졌다. 자바 기반으로 제작되었기 때문에 객체지향적인 특징과 플랫폼에 독립적인 장점을 얻을 수 있따. 또한 다른 CGI 프로그래밍과 비교해서 Thread 기반으로 구현되었기 때문에 다수의 사용자 처리에 적합하다. 그래서 대표적으로 JSP를 이용한다.

 

JSP 탄생 이유

JSP는 HTML에 자바를 넣을 순 없을까라는 고민에서 탄생했다. 그 고민은 HTML 페이지 디자이너들은 대부분 자바를 모른다. 그래서 자바개발자는 자바를 쓰고 HTML 개발자는 HTML만을 쓸수 없을까라는 고민을 하였고, 또 HTML 페이지를 자바 String 변수에 넣는게 너무나 악몽이라 HTML에 자바를 넣을수 없을까 라는 고민을 하였다. 또 서버 부하 해결에 대한 고민이였는데 CGI 특징으로 클라이언트의 요청만큼 서버에 프로세스가 생성되어 처리하기 때문에 서버 부하가 높아 졌다. 효율적으로 처리할 수 있는 Thread를 이용할 수 있어 서버 부하가 높아지는 것을 방지 하였다.

 

 

댓글

Designed by JB FACTORY