요즘 테코톡을 보는 재미에 빠졌다.
오늘은 알리의 Web Server vs WAS 를 보고 web server와 web application server에 대해서 정리해보려고 한다.
웹서버
웹 브라우저가 클라이언트로부터 HTTP 요청을 받아 HTML, Image 같은 정적인 컨텐츠를 제공하는 프로그램
대표적으로 Apache, Nginx 등이 있다.
아래 그림처럼 어떤 사용자가 요청을 하더라도 다 같은 자원, 같은 화면, 정적인 페이지를 보여준다.
장점
- 정해진 데이터만 가져와서 반환하면 되기 때문에 처리 속도가 빠르다.
- 트래픽의 과부하를 잘 처리할 수 있다.
WAS
데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 서버 컨텐츠를 수행하기 위한 프로그램
HTTP를 통해 컴퓨터나 장치에 어플리케이션을 수행해주는 미드웨어(소프트웨어 엔진)
하지만 오늘날의 사용자들이 더 많은 기능들을 요구하기 때문에 동적으로 데이터를 처리 할 수 있는 WAS가 생겨납니다.
대표적으로 Apache Tomcat, Jeus, JBOSS 등 이 있다.
대부분 Java 기반이다. 동적인 페이지는 Servlet 및 JSP를 사용하여 생성된다.
WAS 는 JSP, Servlet 구동 환경을 제공한다. 그래서 WAS를 서블릿 컨테이너 혹은 웹 컨테이너라고도 한다.
WAS = Web Server + Web Container
WAS 를 좀 더 확대해서 보면 아래와 같다.
- Web Server 기능들을 구조적으로 분리하여 처리하고자하는 목적으로 제시되었다.
- 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용된다.
- 주로 DB 서버와 같이 수행된다.
- WAS의 주요 기능
- 프로그램 실행 환경과 DB 접속 기능 제공
- 여러 개의 트랜잭션(논리적인 작업 단위) 관리 기능
- 업무를 처리하는 비즈니스 로직 수행
- 현재는 WAS가 가지고 있는 Web Server도 정적인 컨텐츠를 처리하는 데 있어서 성능상 큰 차이가 없다.
was를 할 줄 안다?
1. web application을 작성할 줄 안다. -> J2EE 중 (Servelet, JSP, JDBC)를 알아야한다.
2. was가 제공해주는 각종 관리 기능을 능숙하게 사용할 줄 안다.
3. 성능/ 안정성을 위한 튜닝을 잘 한다.
Web Server 와 WAS를 같이 사용하면 좋은 점.
- 책임 분할을 통한 서버 부하 방지
- 정적 컨텐츠는 web server, 동적 컨텐츠는 was가 담당
- 물리적으로 분리하여 보안 강화
- SSL에 대한 암복호화 처리에 Web Server를 사용
- 로드밸런싱
- was가 처리해야 하는 요청을 여러 was가 나누어 처리할 수 있도록 설정
다음에 할거
Servlet과 JSP
내장 톰캣과 외장 톰캣
Apache Tomcat(JSP/Servlet Container)
Servlet -> 웹으로부터의 요청을 받아 필요한 결과 화면을 만들어내는 기본 API
JSP -> Servlet을 코딩을 최대한 줄이고 HTML형태의 태그를 사용하여 개발하기 위한 표준 API
JDBC -> 각종 데이터베이스에 접속하여 데이터를 처리하기 위한 표준 API
Reference
WAS (Web Application Server) 종류
[Web] Web Server와 WAS의 차이와 웹 서비스 구조
[Servelet] 웹서버 vs 애플리케이션 서버 vs 서블릿 컨테이너 - Tomcat은 서블릿 컨테이너일까?
Apache Tomcat 서버와 Apache 웹 서버의 차이점
Apache HTTP Server? Apache Tomcat? 서버 바로 알기
'공부 > 서버' 카테고리의 다른 글
AWS : ISV General Immersion Day1 (0) | 2022.11.22 |
---|---|
AWS (0) | 2022.09.21 |
Letsencrypt(무료 SSL) 갱신 오류 해결 (0) | 2019.02.27 |
리눅스 백업을 해보자. (0) | 2019.02.20 |
Lets Encrypt ! (무료 SSL 적용 방법) (0) | 2018.12.07 |
댓글