1. Server 기초 개념
1-1) Server
서버란 컴퓨터 네트워크에서 다른 컴퓨터에 대해 자신이 갖고 있는 기능이나
서비스, 데이터 등을 제공하는 컴퓨터 또는 그와 같은 기능을 가진 '소프트웨어'라고 함.
1-2) Server의 종류
애플리케이션 서버, 카탈로그 서버, 통신 서버, 컴퓨팅 서버, 데이터 베이스 서버 ,
파일 서버, 메일 서버 ...
2. Web Server
2-1) Web Server(하드웨어)
웹사이트의 컴포넌트 파일들을 정리하는 컴퓨터
컴포넌트 파일에는 HTML, Images, CSS, Javascript가 존재함.
컴포넌트 파일은 인터넷을 통해 클라이언트에게 전달됨.
→ 서버가 설치되어있는 하드웨어.
2-2) Web Server(소프트웨어)
사용자가 어떻게 호스트 파일들에 접근 하는지 관리
웹 서버는 주소 HTTP 프로토콜(Click)을 사용하여 클라이언트의 요청을 처리 및 응답.
→ 웹 브라우저로부터 HTTP를 받아 정적인 컨텐츠를 제공하는 소프트웨어
2-3) Web Server Image
→ 즉, Web Server란 HTTP 프로토콜을 이용하여 클라이언트의 GET, POST 등의 메소드를
→ 활용한 요청을 서버에 전달하고 이를 서버라는 또 다른 컴퓨터가 그 요청을 처리해
→ 다시 클라이언트에게 전달해주는 작업이로 보면 됨.
3. WAS(Web Application Server)
3-1) WAS
WAS는 DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠 제공함.
웹 컨테이너 혹은 서블릿 컨테이너라고 부름.
컨테이더란, Servlet을 실행시킬 수 있는 소프트웨어를 말함.
Container란 JSP(Click), Servlet(Click)을 실행시킬 수 있는 소프트웨어를 말합니다.
3-2) WAS의 주요 기능
프로그램 실행환경과 DB 접속 기능을 제공합니다.
여러 개의 트랜잭션(Click) 관리 기능을합니다.
업무를 처리하는 비즈니스 로직을 수행합니다.
4. Web Server vs WAS
4-1) Web Server
: WAS를 거치지 않고 앞단에 빠르기 보내기 위해
: 서버의 부담을 줄이기 위해
웹 페이지는 정적 컨테츠와 동적 컨텐츠가 모두 존재합니다.
웹 서버를 통해 정적인 파일들을 Application Server까지 가지 않고 앞단에서 빠르게 보내기 위함입니다.
웹 서버에서는 정적 컨테츠만 처리함으로써 기능을 분배하여 서버의 부담을 줄일 수 있습니다.
4-2) WAS
: 사용자의 요청에 맞게 동적 컨텐츠를 제공함.
: 요청에 맞는 서비스를 제공하고, 효율성을 위해
사용자의 요청에 맞게 적절한 동적 컨텐츠를 만들어서 제공해야합니다.
웹 서버만 이용한다면 사용자가 원하는 요청에 대한 모든 결과값을 미리 만들어 놓고 서비스를 해야합니다.
WAS를 통해 요청에 맞는 데이터를 DB에서 가져와서 비즈니스 로직에 맞게 결과를 만들어서 제공함으로써 자원을 좀 더 효율적으로 사용할 수 있습니다.
4-3) Web Server와 WAS의 공존
→ 기능을 분리해서 서버 부하 방지
→ 물리적으로 분리해서 보안 강화
→ 여러 웹 어플리케이션 서비스 가능하게 하기 위해
4-3)-1. Web Server
효율성, 장애극복, 배포, 유지보수의 편의성을 위해 웹 서버를 WAS 앞에 두기
4-3)-2. WAS
Web Server에 플러그인 형태로 설정하면 더욱 효율적인 분산처리가 가능
여러 대의 WAS를 분리해서 무중단 운영을 위한 장애 극복.