본문 바로가기
Develop/Java Server Page

02.웹 서버, 웹 어플리케이션 서버, 서블릿

by jaekk 2017. 3. 19.

1. 웹서버(Web Server)

ex) Apache, Ngix, Webtob 등


클라이언트의 요청을 받아 정적인 페이지(웹 페이지, 이미지)를 HTTP 프로토콜을 통해 전송.

클라이언트의 요청 중 자체적 처리가 불가능한 정보에 대해 WAS에 처리 요청.

요청이 많을 경우=> 웹서버- 웹문서, WAS- JSP 페이지 처리




2. 웹 어플리케이션 서버(Web Application Server)

ex) Tomcat, WebLogic, WEebShpere, Jeus, JBoss 등


동적 정보를 처리하여 정적 정보로 가공 후 웹서버에 가공된 정적 정보를 제공.

일반적으로 웹서버의 기능이 내제되어 있음.


 2-1) 웹 서버는 컨테이너에게 처리 요청.

 2-2) 컨테이너는 웹서버의 요청을 처리한다.

  2-2-1) 컨테이너는 web.xml을 참조하여 스레드를 호출하는데, 

스레드 호출 시 스레드에 요청(httpServletRequest) 및 응답(httpServeletResponse) 객체를 생성하여 전달.

 2-3) 컨테이너는 서블릿 호출(Service)

 2-4) 스레드는 서블릿 작업을 담당하게 되고, 요청에 따라 doPost() 또는 doGet()을 호출함.

 2-5) 호출된 doPost() 또는 doGet 메소드는 생성된 동적 페이지를 Response 객체에 실어서 컨테이너로 전달.

 2-6) 컨테이너는 전달받은 Response 객체를 HTTP Response 형태로 전환하여 웹 서버로 전달하고

       추가로 스레드 종료, 요청 및 응답 객체 소멸시키는 작업도 함






3. 서블릿(Servlet)

 서버(Server)와 애플릿(Applet)의 약어

 동적인 웹 페이지를 생성하는 서버 측 프로그램 혹은 그 사양을 뜻한다.

 장점으로는 ①플랫폼 독립성, ②안정성, ③효율성 이 있다.


  ① 플랫폼 독립성

      JVM(Java Virtual Machine, 자바가상머신)에서 동작해 하드웨어(Hardware)와 운영체제(OS)에 제약이 없음.

  ②안정성

      악의적 혹은 잘못 작성된 서블릿이 서버의 파일 시스템에 손상을 입히지않도록 JVM에서 접근을 차단시켜줌.

  ③효율성

      멀티스레드 방식으로 동작하므로 서블릿이 생성되면 종료 요청이 있을 때까지 메모리에 남게됨.

      고로 이 후 요청마다 서블릿 재생성이 따로 필요 없음.












출처: http://myblog.opendocs.co.kr/archives/425

'Develop > Java Server Page' 카테고리의 다른 글

09. 클라이언트와의 대화 1 : 쿠키  (0) 2018.07.06
jsp 실습  (0) 2018.06.26
JSP 정리  (0) 2018.06.24
웹프로그래밍  (0) 2018.06.21
JSP(1)  (0) 2018.06.13

댓글