본문 바로가기
기초지식

WEB / WAS 란?

by 광진구뚝배기 2021. 11. 30.

아래 설명을 먼저 읽고 이 그림을 참고하면 이해가 쉽다.

 

 

WEB ( Web Server )

클라이언트가 서버로 페이지 요청을 할 때, 요청을 받아 정적인 컨텐츠를 제공하는 서버다.

 

 

정적인 컨텐츠는 무엇인가 ?

 

서버에 미리 저장될 파일들로, 예를들면 html, css, js 같은 것들이다.

정적인 컨텐츠의 특징은 어느 사용자에게나 동일한 결과값을 보여준다.

따라서 빠르다는 장점이 있으나 서비스가 한정적이며 추가.수정.삭제의 작업들을 모두 수동으로 해야한다는 단점이 있다.

 

 

그렇다면 어떻게 요청 하는가 ?

 

브라우저가 http를 통해 파일을 요청하여 웹서버에 도달하면 http server는 요청된 문서를 http를 통해 보내준다.

 

HTTP 란 ? 문자로된( Textual ) 독립적 프로토콜 ( Stateless )

 - Textual : 모든 명령어들은 기본문자로 사람이 읽을 수 있다.

 - Stateless : 서버, 클라이언트는 이전의 통신을 기억하지 않는다.

 

따라서 http만 의존한다면 서버는 입력한 비밀번호나 처리한 단계 등을 기억하지 못한다.

이러한 처리를 하기 위해 WEB이 필요한것이다.

                  

 

web 의 종류 ?

 

- Apach

거의 모든 os에서 사용가능한 오픈소스로 다양한 모듈을 제공한다.

확장성 좋고 보안이 높으나 많은 기능들로 인해 느리다는 단점이 있다.

 

- Nginx

오픈소스이며 apache에 비해 가볍고 프록시 기능이 뛰어나다.

최소한의 리소스로 대규모 웹 트래픽 처리 효율이 뛰어나다.

가벼운만큼 확장모듈이 apache에 비해 적다는 단점.

 

- IIS

microsoft에서 지원하는 유료 소프트웨어로 Window에서만 동작한다. 

간편한 GUI지원한다는 장점이 있으나 가격이 비싸며 apache nginx에 비해 느리다는 단점이 있다.

 

 

 

 

WAS ( Web Application Server )

 

웹 서버와 웹 컨테이너의 기능을 모두 수행하며, 동적인 컨텐츠 제공하기 위해 만들어진 서버다.

 

 

Container 란 ? 

 jsp, Servlet을 실행시킬 수 있는 소프트웨어다.

 

 

Web Container 란 ?

 - 클라이언트의 요청에 따른 데이터를 DB에서 전달받아 웹 서버로 전달

 - jsp, php 등 개발언어를 읽고 복잡한 웹 응용 프로그램 등을 처리

 - 요청에 필요한 데이터를 처리하거나 웹 서버에 전달해주는 역할

 

 

WAS 기능은 무엇인가 ?

프로그램 실행환경과 DB 접속 기능 제공하고 여러 개의 트랜잭션 관리가 가능하다.

 

 

왜 was 만 사용하지 않는가 ?

보안강화, 서버의 부하 방지, 장애극복 때문에 WAS 만 사용하지 않고  WEB과 같이 사용한다.

 

 - DB 접속 정보를 외부로 노출을 하지 않기 위해

 - 빠른 시간내에 처리할 수 있는 정적 컨텐츠를 구분하여 부하 줄이기 위해

 - 대용량 트래픽 처리의 경우 여러대의 was 앞단에 웹 서버를 두어 하나의 was가 중단되더라도 앞단의 웹 서버에서 다른 ws를 사용하며 중단된 was 복구

 

 

WAS종류 ?

 - Tomcat

jsp요청을 받으면 서블릿으로 바꾸어 실행, web server 에서 요청한 동적 페이지를 읽어 프로그램을 실행, 처리한 결과를 html로 재구성하여 web server에 전달한다.

 

 - Weblogic :

 - Jeus :

 

** 추후에 작성하겠습니다..ㅎㅎ;; **

반응형

'기초지식' 카테고리의 다른 글

Internet Explorer 11 지원 종료, Edge / Window11 전환 방법  (0) 2022.06.10
형상관리 란?  (0) 2022.01.11
Socket (소켓) 이란?  (0) 2022.01.05
윈도우 포트 죽이기  (0) 2021.06.30
ORM이란 무엇인가?  (1) 2021.05.06

댓글