일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 프로그래머스 #자바 #java #코딩테스트 #연속된 수의 합 #코딩
- 프로그래머스 #JAVA #코딩테스트 #다음에 올 숫자 #코딩
- JAVA #객체지향언어 #절차지향언어 #코딩 #Python #C #C++ #객체지향 #절차지향
Archives
- Today
- Total
Javadocs
#5. WEB과 WAS의 차이 본문
WEB, WAS 란?
1. 웹서버(WEB)란?
웹서버는 말그대로 작성된 html페이지 등을 네트워크망에 종속되지 않고, 웹서비스를 할 수 있도록 하는 어플리케이션이다.
- 웹 서버(소프트웨어) : 웹 브라우저 클라이언트로부터 HTTP요청을 받아들이고, HTML문서와 같은 웹 페이지에서 흔히 찾아 볼 수 있는 자료 컨텐츠에 따라 HTTP에 반응하는 컴퓨터 프로그램
- 웹 서버(하드웨어) : 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터
2. 웹 어플리케이션 서버(WAS, Web Application Server )란?
- HTTP를 통해 사용자 컴퓨터 혹은 장치에 어플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)이다.
- 웹 어플리케이션 서버는 동적 서버 컨텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행이 된다.
- 웹 서버 + 웹 컨테이너로 웹 상에서 사용하는 컴포넌트를 올려놓고 사용하게 되는 서버이다.
- 웹 컨테이너란, JSP와 Servlet을 실행시킬 수 있는 SW를 웹 컨테이너라고 한다.
# 기본 기능
- 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.
- 여러 개의 트랜젝션을 관리한다.
- 업무를 처리하는 비즈니스 로직을 수행한다.
- Web Service 플랫폼으로서의 역할을 한다.
3. 웹 컨테이너 (Web Container)
- JSP와 Servlet을 실행시킬 수 있는 소프트웨어를 웹 컨테이너 혹은 Servlet 컨테이너라고 한다.
- 웹 서버에서 JSP를 요청하면 Tomcat에서는 JSP파일을 Servlet으로 변환하여 컴파일을 수행하고, 서블릿 수행결과를 웹 서버에게 전달하게 된다.
- JSP 컨테이너가 탑재 되어 있는 WAS는 JSP 페이지를 컴파일 해 동적인 페이지를 생성한다.
- Servlet 컨테이너, JSP 컨테이너, EJB 컨테이너 등의 종류가 있다. (WebLogic 등)
WEB과 WAS의 종류
1. Apache
- Apache는 소프트웨어 단체 이름이다. 그리고 우리가 흔히 말하는 아파치서버는 오픈소스 프로젝트 커뮤니티에서 만든 http웹 서버를 말한다.
- http 웹 서버는 http 요청을 처리할 수 있는 웹서버이고, 아파치 http서버는 http요청을 처리하는 웹 서버이다.
- 클라이언트가 GET, POST, DELETE 등의 메소드를 이용해 요청을 하면 이 프로그램이 어떤 결과를 돌려주는 기능을 한다.
- 즉, 아파치는 웹 서버이다.
2. Tomcat
- Tomcat은 흔히 WAS(Web Application Server)라고 말한다.
- WAS는 웹 서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말한다.
- 클라이언트의 요청이 있을 때 내부의 프로그램을 통해 결과를 만들어내고 이것을 다시 클라이언트에 전달해주는 역할을 하는 것이 바로 웹 컨테이너이다.
- 아파치 웹 서버와의 차이는 이 컨테이너 기능이 가능한지의 차이이다.
Web Server
1. Apache HTTP Server
# 장점
- 오픈 소스로 무료
- 다양한 모듈을 제공
- 강력한 커뮤니티로 인한 방대한 자료가 있다.
- 확장성이 좋고 보안 수준이 높다.
# 단점
- 많은 기능들로 인해 느린 측면이 있다.
- 오버 헤드가 발생
2. Ngnix : 최소한의 리소스로 많은 수의 동시 사용자 처리로 대규모 웹 트래픽 처리 상황이 발생할 때 고효율을 발휘한다.
# 장점
- 오픈 소스로 무료
- Apache에 비해 가볍다.
- 프록시 기능이 뛰어나다.
# 단점
- 커뮤니티의 자료가 부족.
- 확장 모듈이 Apache에 비해 적다.
3. IIS WEB Server : Microsoft에서 제공하는 소트프웨어이며 유료이며 익숙한 GUI를 통해 접근성이 용이하다.
# 장점
- Microsoft에서 제공한다.
- ASP, MS SQL 등과 같은 다른 Microsoft 서비스와 쉽게 통합할 수 있다.
- 간편한 GUI를 지원한다.
# 단점
- 가격이 비싸다.
- Windows Server에서만 동작한다.
- Apache와 Nginx에 비해 더디고 무겁다.
WAS
1. Tomcat
1) 주요 기능
- JSP/Servlet Container중 하나로 사용자에게 JSP요청을 받으면 서블릿으로 바꾸어 실행
- Web Server에서 요청한 동적 페이지를 읽어 프로그램을 실행
- 그 결과를 다시 HTML로 재구성하여 Web Server에게 전달
2) 특징
- Servlet Container를 지원함
- 플랫폼에 제약이 없음(Window, Linux, Unix)
- Tomcat내부에 Web Server와 Web Container의 기능이 들어있으므로 Tomcat이 Apache를 포함하고 있으나 Apache와 Tomcat을 연동해서 사용하는 것이 성능상의 이점이 있음
2. WebSphere IBM
3. JEUS
WAS와 Web Server를 분리하는 이유
- 기능을 분리하여 서버의 부하 방지
- 물리적으로 분리하여 보안강화
- 여러대의 WAS를 연결 가능(로드밸런싱의 역할 및 fail over, fail back 처리에 유리)
- 여러 웹 어플리케이션을 서비스 기능(java 서버, C#서버, PHP 서버 등 하나의 웹 서비스를 통해 서비스 가능)
'SelfStudy > CS 기술 정리' 카테고리의 다른 글
GET vs POST (0) | 2023.04.14 |
---|---|
#8. Rest API란? (0) | 2023.03.26 |
#7. @Controller 와 @RestController 차이 (0) | 2023.03.25 |
#3. MVC 패턴이란? (Model-View-Controller) (0) | 2023.03.18 |
Comments