CSI(Common Gateway Interface) : 동적 페이지를 위한 기술, 웹 서버와 동적 컨텐츠 생성을 맡은 프로그램 사이에서 정보를 주고받는 인터페이스, 초기 웹 프로그래밍에 사용됨, 프로세스 단위로 실행되기 때문에 사용자 증가 시 급격한 성능 저하
확장 CGI : 전통적인 CGI 방식의 단점 보완, 매번 프로세스 생성 방식에서 동일한 프로그램에 대해서는 여러 개의 스레드 방식으로 처리하므로 시스템의 부하를 줄임
구분 | 설명 | |
CGI | 동적 컨텐츠 처리를 위한 가장 전통적인 방법 CGI용 프로그램은 CGI 규약만 지키면 어떤 언어라도 가능 프로세스 기반 프로그램으로 시스템의 효율성 측면에서 시스템에 많은 부하 |
|
확장 CGI | Servlet / JSP | Java 언어 기반 플랫폼에 대해 독립적임과 동시에 컴파일된 파일을 재컴파일 없이 즉시적인 이식이 가능 웹서버 : Apache, IIS |
PHP | C언어와 비슷한 문법을 사용, 리눅스터럼 소스가 공개되어 있음 웹서버 : Apache, IIS |
|
ASP | 비주얼 베이직 언어의 문법 중 일부를 사용 ActiveX 컴포넌트로 접근 가능 |
서블릿(Servlet) : 서블릿 규약에 따라 제작된 클래스로 서버에서 웹 페이지 등을 동적으로 생성하거나 전송되는 데이터 처리를 수행하기 위해 Java로 작성된 프로그램을 의미함, 서블릿을 실행하기 위해서는 먼저 환경을 구축해야 하며 서블릿 실행 환경을 구축하기 위해서는 아파치 톰캣(Apache Tomcat) 등 서블릿 컨테이너(웹 컨테이 너)가 필요함
웹 컨테이너 : 웹 서버의 컴포넌트 중 하나로 Java 서블릿과 상호작용을 수행하며 웹 컨테이너는 서블릿의 생명주기를 관리, 사용자 요청 URL과 특정 서블릿을 맵핑하여 URL 요청이 올바르게 접근할 수 있도록 권한을 보장함, 순수 서블릿을 처리하는 경우 서블릿 컨테이너라고 하지만 서블릿 컨테이너를 포함한 JSP, HTTP 서버의 기능도 함께 포함하기 때문에 웹 컨테이너라고도 부름
JSP : 웹 프로그래밍 언어들 중의 하나 동적인 페이지를 생성하기 위한 서버측 스크립트 언어, 서블릿의 단점을 보완하기 위해 스크립트 방식을 도입, HTML 파일 내에 Java 언어를 삽입한 문서
- 빈즈 자바 컴포넌트를 사용 가능
- 최초 서블릿 컴파일 후 메모리에서 처리 -> 사용자 접속이 많아도 원활하게 처리
- 다른 서블릿 간의 간편한 데이터 공유 -> page, request, session, application 범위 지정
- 자바언어 기반 -> 객체지향적, 플랫폼 독립적, 네트워크 지향적, 뛰어난 보안성, 멀티 스레드 등
서블릿으로 구현한 예
JSP으로 구현한 예
'뒤끝 (Back-End)' 카테고리의 다른 글
[JSP] 하이퍼 링크 & 테이블 태그 (0) | 2024.10.14 |
---|---|
[JSP] 절대 경로와 상대 경로 (1) | 2024.10.09 |
[JSP] 웹 프로그래밍 (2) | 2024.10.09 |
[Spring boot] 게시판 API 만들기 (0) | 2024.04.06 |
[Spring boot] MVC, API, JPA, 데이터 베이스 이해하기 (0) | 2024.04.06 |