이번 글에서는 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 경우에서 클라이언트와의 사이에서 작용한다.
cgi 진짜 오래간만에 보네요 ㅎㅎ 어렸을적에 보고 게시판을 이렇게 만드는구나를 이해하게 되어서 신기했던 기억이 납니다.
#kr 태그를 달지 않으시면 한국어 사용자에게 글이 잘 노출되지 않습니다. 개발 관련 글은 #kr-dev 태그를 다시는 것이 좋습니다.
이지스팀잇 가이드북 을 보시면 앞으로 스팀잇 활동하시는데 도움이 되실겁니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
아 그렇군요
어떻게 해야할까 고민하고 있었는데 친절한 설명 감사합니다^^
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit