- 나는 서버 프로그램의 필요성을 설명할 수 있다.
- WAS 구조를 설명할 수 있다
- 서블릿의 특징을 설명하라.
.
서버 및 서블릿 개요
- 네트워크란 무엇입니까?
네트워크 = 네트워크 + 작업
“그물처럼 얽혀 일하는 것”
통신기기들이 그물처럼 연결되어 데이터를 교환하는 형태(통신망)
.
1. 왜 서버 프로그램이 필요한가요?
-
- 정적 웹 서버는 클라이언트의 요청에 따라 모든 경우를 고려하여 HTML 문서를 저장해야 합니다.
- → 개발자의 시간과 노동력 소모
- 클라이언트 요청 정보를 포함하는 HTML 문서를 생성하는 서버 프로그램이 필요합니다.
- 정적 웹 서버는 클라이언트의 요청에 따라 모든 경우를 고려하여 HTML 문서를 저장해야 합니다.
.
.
: 마디 → 네트워크에 연결된 컴퓨터와 그에 속한 장비 (허브, 라우터, 라우터…)
HUB: 여러 대의 PC와 장치를 묶어서 LAN을 구성하기 위해 사용하는 장치
라우터: 데이터를 교환할 때 가장 적합한 통신 경로를 사용하여 데이터를 전송하는 장치.
라우터: 하나의 인터넷 회선을 공유하여 동시에 인터넷에 접속할 수 있는 장치
: 호스트에서 → 노드 응용 프로그램을 실행할 수 컴퓨팅 시스템을 갖춘 장치
.
호스트 간에 제공되는 서비스를 기반으로 호스트 세분화
각 호스트는 클라이언트 또는 서버로 고정되지 않습니다.
사용 중인 서비스 유형에 따라 클라이언트 또는 서버가 될 수 있습니다.
웹 브라우저
웹 서버와 통신하여 html, css, js, text, 이미지 등의 웹 자원을 받아 사용자에게 보여주는 GUI(Graphical User Interface) 기반 소프트웨어.
정적 웹 페이지
.: 서버(웹 서버)에서 미리 저장된 파일(HTML 파일, 이미지, Javascript 파일 등)을 그대로 전달합니다.
웹 페이지
서버에 저장된 데이터가 변경되지 않는 한 고정된 웹페이지보다
동적 웹 페이지
스크립트에 의한 서버(웹 서버)의 데이터 가공 후 생성 및 전달웹 페이지
사용자 컨텍스트, 시간, 요청 등에 따라 달라지는 웹 페이지보다
.
웹 서버
HW: 웹 서버 소프트웨어 및 웹사이트 구성 요소 파일 저장 장비
SW: 클라이언트에서 HTTP 프로토콜로 요청을 받고 응답하는 프로그램
.
정적 웹 서버
: 컴퓨터(HW)와 HTTP 서버(SW)로 구성 → 서버에 저장된 파일(매회 X 처리)클라이언트에게 보내기
.
경우의 수에 따라 HTML 문서를 생성하여 저장해야 합니다.
WHY -> 정적 웹 서버는 문서를 처리할 수 없기 때문에,
서블릿 = 서버 + 애플릿
→ + 서버에서 실행 중인 애플리케이션
-
- Java 기반의 Web Application Programming 기술
- 클라이언트 요청에 대해 동적으로 작동하며, 처리된 정적 문서 형태로 응답 제공
.
WAS(웹 애플리케이션 서버)
웹 서버
: 고요인콘텐츠를 제공하는 서버: 요청을 컨테이너에 전달하고 결과를 전달하는 역할
.
WAS(웹 서버 + 웹 컨테이너)
: 동적로 콘텐츠를 생성하고 제공하는 서버
.
편물 컨테이너
: JSP와 서블릿 실행할 수 있는 SW
.
서블릿의 특징
-
- .자바 확장자가 있습니다
- 자바 멀티 스레드사용하여 작동 → 속도 및 메모리 측면에서 효율적
- 객체 지향 → 대규모 어플리케이션 개발에 적합
- HttpServlet 클래스 상속받았다
.
리소스를 동적으로 생성하고 제공하는 방법
- CGI(공통 게이트웨이 인터페이스)
2. Was(Tomcat) – 서블릿
.
.
프로그램/프로세스/스레드
- 프로그램 :
- 컴퓨터에서 할 수 있는 것 ‘정적 상태‘의 파일
- 예) Windows exe 파일
- 프로세스:
- 프로그램이 실행되고 실행되고 있는 상태, 컴퓨터에서 지속적으로 실행되는 상태
- 운영 체제가 메모리와 같은 필요한 리소스를 할당한 상태인 ‘동적 상태’의 컴퓨터 프로그램
- 실:
- 프로세스 할당된 리소스를 사용하는 실행 단위
- 프로세스 내에서 실행되는 프로세스 및 흐름 단위의 특정 실행 경로입니다.
.
서블릿의 특징
1) CGI(공통 게이트웨이 인터페이스)
프로세스별로 실행
사용자의 요청이 많으면 서버의 부하가 크게 줄어듭니다.
2) WAS(톰캣) – 서블릿
.
.