728x90
반응형
서블릿이란?
자바 프로그래밍을 사용한 웹 어플리케이션
- 서버에서 실행되는 동적 컨텐츠를 생성해내는 자바 기반의 웹 컴포넌트이며 servlet container에 의해 관리된다.
- 바이트 코드로 컴파일된 플랫폼 독립적인 자바 클래스로 서블릿 컨테이너에 의해 동적으로 로드되고 실행된다.
서블릿의 주요 특징
- 클라이언트의 Request에 대해 동적으로 작동하는 웹 어플리케이션
- 기존의 정적 웹 프로그램의 문제점을 보완해 동적인 여러 기능을 제공
- JAVA의 스레드를 이용해 동작
- MVC패턴에서 컨트롤러로 이용
- 컨테이너에서 실행
- 보안 기능을 적용하기 쉬움
CGI란?
대화식 웹 페이지를 실행할 수 있도록 웹 서버에서 외부 프로그램을 처리하는 인터페이스
- 웹 서버와 외부 프로그램간의 데이터를 주고받는 방법에 대한 규격
- 웹 서버가 동적인 콘텐츠도 제공할 수 있게하는 방법
CGI (Common Gateway Interface) | 서블릿(Servlet) | ||
기본 | 원시 OS로 작성 | 자바를 사용 | |
의존성 | 플랫폼에 따라 상이 | 플랫폼에 의존하지 않음 | |
프로세스 생성 | 각 클라이언트 요청은 자체 프로세스를 작성 | 클라이언트 요청의 유형에 따라 작성 | |
스크립트 변환 | 실행 파일의 형태로 제공 | Java 바이트 코드로 컴파일 | |
실행 | 별도의 프로세스 | JVM | |
보안 | 공격에 더 취약 | 공격에 저항 가능 | |
속도 | 느림 | 빠름 |
결과적으로,
서블릿과 CGI는 같은 방식으로 작동하나, 서블릿은 빠르고 안전하며 플랫폼에 의존하지 않아 쉽게 개발할 수 있다.
여러 API를 통해 액세스 할 수 있고 다양한 웹 서버에서도 지원가능하므로 서블릿을 CGI보다 유리하게 사용가능하다.
728x90
반응형
'✨ Back-end > Servlet' 카테고리의 다른 글
[Servlet] 서블릿을 이용한 mvc1패턴과 mvc2패턴 (0) | 2023.08.08 |
---|---|
[Servlet] 서블릿 컨테이너 정의 및 역할, HTTP 요청 처리 순서 (0) | 2023.08.08 |
[Servlet] 세션(Session)과 쿠키(Cookie) (1) | 2023.08.08 |
Servlet - 서블릿(실행 코드 방식)과 JSP(스크립트 방식) (0) | 2023.08.08 |
HTTP 프로토콜의 특징 (0) | 2023.08.08 |
댓글