CGI / Applet / Servlet


이번 글에서는 CGI와 Applet, Servlet이 무엇인지 보겠습니다.

CGI
  • 서버 측에서 수행되는 외부 프로그램간의 통신 규약
  • 웹 서버는 프로그램을 실행시키고 사용자의 데이터를 외부 프로그램에 전달한다.
  • 외부 프로그램은 사용자의 데이터를 처리하고 응답을 웹서버에 전달한다. 
  • 웹 서버는 외부 프로그램으로부터 받은 응답을 다시 클라이언트에 전달한다.
  • Java로 작성한 CGI 프로그램을 Servlet이라고 한다.

Applet
  • Client용 프로그램
  • Web Client가 Applet 프로그램으로 자신의 컴퓨터에서 실행시켜 사용하는 형태
  • Web Browser에 내장된 JVM환경 이용

Servlet
  • 자바 언어를 개발한 썬마이크로사에서 웹개발을 하기 위해 만든 표준
  • Web Client의 요청을 Server 파트에서 실행시키는 프로그램
  • Java를 사용하여 web page를 동적으로 생성하는 서버측 프로그램
  • Web Container에 내장된 JVM환경 이용
  • JVM에서 클라이언트의 요청에 따라 Multi-Thread방식으로 동작

Servlet과 CGI의 차이점

  • CGI는 클라이언트 요청이 있을 때마다 process를 생성하여 CGI프로그램을 수행하는데 서버 측에 작업 부하를 가져온다.
  • Servlet은 Client의 요청이 있을 때 마다 process가 아닌 thread를 생성하는데 작업 부하가 적게 걸리고 속도면에서도 상당히 빠르다.
  • Servlet은 메모리 사용이 적으며 표준 API를 제공한다.
  • Servlet은 객체가 1개만 생성되고 Service 3개가 thread형태로 수행된다.
  • Servlet은 HTTP 기반서 request-response model 경우에서 클라이언트와의 사이에서 작용한다.

댓글 없음:

Powered by Blogger.