CGI 프로그램, 서블릿

uglyduck.dev·2020년 9월 29일
0

개념 모아 🗂

목록 보기
11/40

CGI의 이해

애플리케이션, 데스크톱 애플리케이션

  • 사용자가 직접 아이콘을 더블 클릭하거나 명령 창을 통해 실행 시키는 프로그램

웹 애플리케이션

  • 사용자가 웹 서버를 통해 간접적으로 실행시키는 프로그램
  • 서버는 클라이언트가 요청한 프로그램을 찾아서 실행, 작업을 수행한 후 웹 서버에게 돌려줌
  • 웹 서버는 결과를 토대로 HTTP 형식에 맞추어 웹 브라우저에 전송
  • 웹 서버와 프로그램 사이의 데이터를 주고받는 규칙을 CGI(Common Gateway Interface)라고 함
  • 웹 서버와 데이터를 주고 받도록 작성된 프로그램을 'CGI 프로그램'이라고 함

CGI 프로그램

  • C나 C++, Java와 같은 컴파일 언어로 작성할 수 있음
  • Perl, PHP, Python, VBScript 등 스크립트 언어로도 작성할 수 있음

컴파일 방식

  • 기계어로 번역된 코드를 바로 실행하기 때문에 실행 속도가 빠름
  • 컴파일하고 재배포해야 하는 문제점 발생

스크립트 방식

  • 실행할 때마다 소스 코드의 문법을 검증하고 해석해야하므로 실행속도가 느림
  • 변경 사항 발생에 유연함

서블릿(Servlet)

  • 자바 CGI 프로그램은 C/C++처럼 컴파일 방식
  • 자바로 만든 CGI 프로그램 -> 서블릿(Servlet)
  • 웹 서버와 직접 데이터를 주고받지 않으며, 전문 프로그램에 의해 관리

서블릿 컨테이너

  • 서블릿의 생성과, 실행, 소멸 등의 생명주기(LifeCycle)를 관리하는 프로그램

  • 서블릿을 대신하여 CGI 규칙에 따라 웹 서버와 데이터를 주고 받음

  • 서블릿 개발자는 더 이상의 CGI 규칙에 대해 알 필요가 없음

  • 자바 웹 애플리케이션 개발자는 JavaEE 기술 사양에 포함된 Servlet 규칙에 따라 CGI 프로그램을 만들고 배포합니다.

Reference

엄진영, 『자바 웹 개발 워크북』, 프리렉(2018.8.9), 103~106p

profile
시행착오, 문제해결 그 어디 즈음에.

0개의 댓글