티스토리 뷰

WEB

http 프로토콜을 기반으로 요청/응답의 방식을 이용한 시스템

 

■ Web Server(WS)

1. Client의 요청(Request)을 받아 HTML 문서, CSS 파일, JS 파일, 이미지 파일 등 정적인 데이터를 응답(Response) 해준다.

2. Client의 최초 요청과 최종 응답을 관할 하며, 필요한 경우 WAS에 정적 데이터를 요청 한다.

3. 대표적으로 Apache, Nginx, IIS, WebtoB 등이 있다.

 

■ Container

1. 객체의 생성/서비스/소멸되는 과정인 Life cycle을 관리 한다.

2. Web Server와의 통신 지원

3. Multi Thread 방식 지원

4. JSP, Servlet의 구동 환경 제공 및 실행

( JSP파일이 실행할 수 있는 프로그램으로 컴파일 된것을 Servlet 이라고 한다.)

 

■ Web Application Server(WAS) : 영어권 에서는 Application Server(AS)로 불림

1. 가공이 필요한 동적인 데이터를 처리하여 Web Server로 전달 한다.

2. DB 접속, Container, 트랜잭션 관리, 쓰레드 처리, 비즈니스 로직 수행 등을 담당 한다.

3. 크게 분류하여 Web Server의 기능과 Container의 기능으로 구성 되어 있다.

( Web Server와 기능적으로는 분명하게 분리되어 있지만, 최근 대부분의 WAS는 Web Server의      기능을 포함 하고 있다.)

4. 궁극적으로 Web Server에서 정적인 데이터 처리, WAS에서 동적인 데이터 처리를 분산 함으로써 기능을 분배하여 서버의 부담을 줄이기 위해 사용 된다.

5. 대표적으로 Tomcat, WebLogic, WebSphere, Jeus, JBoss 등이 있다. 

 

■ 프로세스

1. Client의 요청(Request) 발생

2. Web Server가 요청 정보 수신

3. Web Server → WAS로 동적인 데이터 처리 요구

1) Web Server의 요청을 접수

2) 해당 Servlet에 대한 Thread를 생성

3) 요청(HttpServletRequest) 및 응답(HttpServeletResponse) 객체를 생성

4) Container가 해당 Servlet의 service() 메서드 호출

5) 해당 Servlet을 관할 하는 Thread는 요청 방식에 따라 doGet() 또는 doPost() 메서드 호출

6) 생성된 동적 페이지를 응답 객체에 실어 Container에 전달

7) Container는 전달 받은 응답 객체를 Web Server에 전달

8) 생성되었던 Thread 및 요청, 응답 객체 소멸 후 메모리 반환

4. WAS → Web Server로 전달 받은 데이터를 정적인 데이터와 함께 Client에게 응답(Response)

 

 

'개인정리' 카테고리의 다른 글

햇갈릴 수 있는 Java의 기본 개념 정리  (2) 2016.12.08
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday