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 경우에서 클라이언트와의 사이에서 작용한다.
댓글 없음: