Java Applet이란?
Java Applet은 HTML 문서 내에 포함되어 Java호환 웹 브라우저 상에서 수행되는 Java프로그램을 의미합니다. C나 JAVA로 만들어진 프로그램을 Application이라 하는데 이들을 웹 브라우저 상에서 실행되도록 만든 형태를 Applet이라고 보면 됩니다.
Java Servlet이란?
Java Servlet은 웹 서버에서 실행되는 Binary 파일입니다. 즉, Java Applet이 웹 서벗에서 사용되는 형태를 Java Servlet이라고 보면 됩니다. 보다 정확하게 말하면 Java Servlet도 일종의 CGI이며, 기존 CGI의 여러 단점들을 보완하여 Java로 만든 것이 바로 Java Servlet입니다.
===> Java Applet은 Client의 웹 브라우저를 통해서 실행되므로 웹 브라우저가 Java를 지원해야 하며, 지원하는 웹 브라우저라도 Java를 얼마만큼 지원하느냐에 따라서 사용의 제한이 있습니다. 하지만 Java Servlet은 서버에서 실행되므로 Client의 웹 브라우저가 Java를 지원하는지, 또 얼마만큼 지원하는지 고려하지 않아도 됩니다.
Java Servlet은 모든걸 실행하고나서 결과값만 HTML 형식으로 Client의 컴퓨터로 전송하므로 실행시킬 Binary 파일까지 다운로드 받아야 하는 Java Applet보다 상대적으로 속도가 더 빠릅니다.
** CGI [common gateway interface] : 사용자가 서버에게 웹페이지를 통한 요청이 있었을 때, 그것이 응용프로그램에 의해 처리 될 필요가 있다면 서버가 응용프로그램을 실행시키고 필요한 메시지를 받는다. 이 때 서버와 응용프로그램 사이에 데이터를 주고 받기 위한 표준화된 방법을 CGI라고 한다.
공통 게이트웨이 인터페이스(common gateway interface)의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약들을 말한다. 브라우저가 서버를 경유하여 데이터베이스 서버에 질의를 내는 등 대화형 웹페이지를 작성할 때 이용된다. 게이트웨이의 개발 언어로는 유닉스에서는 문자열 처리가 간단한 펄(perl), 윈도NT에서는 비주얼베이식(visual basic) 등이 사용되는 경우가 많다.
외부 프로그램을 실행하는 표준 방식으로 자리잡았으며 사용이 편리하다는 장점이 있지만, 서버에서 많은 프로그램을 수행하므로 서버에 무리를 준다는 단점도 지니고 있다.
결론 : Java Applet , Java Servlet 모두 자바 프로그램들이다. 단지 전자는 Client에서 실행되고 후자는 Server에서 실행될 뿐이다.