CGI / Applet / Servlet

in cgi •  7 years ago 

 이번 글에서는 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 경우에서 클라이언트와의 사이에서 작용한다.
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

cgi 진짜 오래간만에 보네요 ㅎㅎ 어렸을적에 보고 게시판을 이렇게 만드는구나를 이해하게 되어서 신기했던 기억이 납니다.

#kr 태그를 달지 않으시면 한국어 사용자에게 글이 잘 노출되지 않습니다. 개발 관련 글은 #kr-dev 태그를 다시는 것이 좋습니다.
이지스팀잇 가이드북 을 보시면 앞으로 스팀잇 활동하시는데 도움이 되실겁니다.

아 그렇군요
어떻게 해야할까 고민하고 있었는데 친절한 설명 감사합니다^^