상세 컨텐츠

본문 제목

웹 개발언어들과 그 설명

Web Development/Others

by thankee 2007. 12. 23. 00:28

본문

1. 웹 어플리케이션 : CGI, ASP, ISAPI(internet server application program interface), JSP, PHP
    ASP.NET 등으로 제작된 Application(웹페이지), 서버에서 동작하며 클라이언트에서 요청한
    자료의 저장, 검색 등의 여러 역할을 한다.


2. CGI [common gateway interface] : 사용자가 서버에 데이터를 요청했을 때, 그리고 해당
    데이터가 서버의 응용프로그램에 의해 처리되어야 한다고 할 때, 서버와 해당 프로그램간의
    데이터를 주고받기 위한 방법
  - CGI는 컴파일된 프로그램일 수도 있고(C, C++, Visual Basic 등등) 스크립트 언어 일수도(Perl,
    쉘스크립트)
있다. 단지 콘솔 어플리케이션으로서 어플리케이션에 해당 데이터를 어떻게 전달하고,
    어떻게 결과를 내보내는지 안다면 누구나 작성 할 수 있지만 요청마다 하나의 프로세스를 생성하므로
    서버 시스템에 많은 부담을 준다.

  - CGI의 단점 : CGI는 개발이 비교적 어렵고, 시스템에 부담을 많이 준다는 것이다.

  - Active X나 자바 애플릿은 클라이언트 쪽에서 실행되는 어플리케이션이다.


*이러한 CGI의 단점으로 인해 개발된 것들

3. ISAPI : IIS기반으로서 마이크로소프트사에서 제작하였으며 CGI의 단점 중 하나인 요청마다
    하나의 프로세스를 만드는 것을 수정하여(요청마다 스레드를 늘리는 방식), 서버측 부하를 많이
    줄일 수 있다. 제작된 ISAPI 프로그램은 DLL확장자를 가지며 ISAPI에 등록해두면
    요청이 발생할 때 적절한 DLL파일(제작된 프로그램)이 실행한다.(CGI처럼 개별적으로
    실행되는 것이 아니라 ISAPI가 실행된 상태에서 스레드가 생기면서 해당 DLL이 실행된다.)


4. 서블릿(Servlet) : ISAPI와 마찬가지로 서버측에서 동작하는 애플리케이션이다. 마찬가지로
    여러 요청이 있으면 여러 쓰레드를 생성하므로 CGI와 달리 서버의 부하를 많이 주지 않는다.
    서버의 클래스파일(컴파일된 JAVA프로그램)을 서블릿 컨테이너가 적재하여 실행하게 된다.


5. ASP, JSP, PHP, ASP.NET : Server side script(서버에서 동작하는 스크립트, 반면에 JAVA
    Script는 클라이언트의 브라우져에 의해 동작한다)
로서 HTML파일에 스크립트로서 포함되어 있다가
    해당 페이지가 요청되면 포함된 ASP(또는 JSP, PHP, ASP.NET)구문이 ASP.DLL(서블릿 컨테이너,
    PHP 파서)
에 의해 번역 되고 결과가 HTML파일로 만들어져 클라이언트로 전송된다.


부가 설명
** Sun진영 : 서블릿, JSP모두 서블릿 컨테이너에 의해 적재되어 실행된다. (JAVA라는 언어
    자체가 플렛폼에 구애 받지 않지만 하나하나 프로그램을 실행하는데는 비교적 속도가 떨어진다.
    하지만 효율적으로 작동하기 때문에 한번 실행된 프로그램이 대량의 자료 처리하는데는 오히려
    속도가 빠르므로 자료 처리량이 많은 대규모 서버에 적절하다.)

** Microsoft진영 : ASP, ISAPI 모두 IIS가 있어야 처리 된다. (윈도우에 족송적, 보통 중소규모
     회사에서 사용) 최근 ASP.NET를 제공하고 있으며, ASP.NET는 IIS는 물론 .Net Framework역시
     필요하다. ASP.NET는 일반 Application개발 방식과 유사하게 웹Application을 개발할 수 있으며,
     따라서 생산성이 매우 우수하며, 쉽고 기존 Application 개발자의 적응도 쉬운편이다. 하지만
     속도에서나 안정성에서의 우려때문에 개발 시장에서 쉽게 선택받지 못하고있다.
** PHP : Open Source로서 거의 모든 DB를 지원하며 모든 운영체제에서 작동가능하다. 보통 APM
     (Apache + PHP + MySql)
조합으로 리눅스 상에서 많이 쓰이고 있다. 구축비용이 매우 저렴하고
     (대부분 무료이므로), 보통 소규모 데이터 처리시 많이 사용된다.


by thankee from tistory.com

관련글 더보기