일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux
- docker
- 성수맛집
- 직장인점심
- 성수직장인
- 독서
- 깨끗한코드
- 개발자
- 성수볼거리
- 주니어개발자
- 책읽기
- 직장인
- DesignPattern
- 헤드퍼스트
- 코딩
- 오브젝트
- 객체지향
- Java
- JavaScript
- 객체지향프로그래밍
- 헤드퍼스트디자인패턴
- 독서일지
- 책너두
- 성수핫플
- 클린코드
- 성수
- IntelliJ
- JAVA개발자
- 디자인패턴
- 상속
- Today
- Total
닭발개발
Web Server와 WAS의 차이 본문
Web Server
웹서버는 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떤 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버.
(정적 컨텐츠 : HTML 문서, CSS, 이미지, 파일 등 즉시 응답 가능한 컨텐츠)
웹 서버가 정적 컨텐츠 말고 동적 컨텐츠를 요청 받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트한테 전달하는 역할도 함.
ex) 아파치, NginX
WAS (Web Application Server)
WAS는 db조회나 다양한 로직처리를 요구하는 동적 컨텐츠 제공을 위해 만들어진 application 서버.
http 프로토콜을 기반으로 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어.
주로 db 서버와 같이 수행됨.
WAS는 JSP, Servlet 구동환경을 제공해주니까 서블릿 컨테이너 혹은 웹 컨테이너로 불림.
WAS에는 Tomcat, JBoss, WebSphere 등이 있음.
웹 서버와 WAS를 분리해야 한다. 그 이유는 다음과 같다.
1. 서버 부하 방지
WAS와 웹 서버는 분리하여 서버의 부하를 방지해야 한다. WAS는 DB 조회나 다양한 로직을 처리하고, 단순한 정적 컨텐츠는 웹 서버에서 처리해줘야 한다. 만약 정적 컨텐츠까지 WAS가 처리한다면 부하가 커지게 되고, 수행 속도가 느려질 것이다.
2. 보안 강화
SSL에 대한 암호화, 복호화 처리에 웹 서버를 사용 가능
3. 여러 대의 WAS 연결 가능
로드 밸런싱을 위해 웹 서버를 사용할 수 있다. 여러 개의 서버를 사용하는 대용량 웹 어플리케이션의 경우 웹 서버와 WAS를 분리하여 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있다.
4. 여러 웹 어플리케이션 서비스 가능
하나의 서버에서 PHP, JAVA 애플리케이션을 함께 사용할 수 있다.
이러한 이유로 웹 서버를 WAS 앞에 두고 필요한 WAS들을 웹 서버에 플러그인 형태로 설정하면 효율적인 분산 처리가 가능하다.
'Development Knowledge' 카테고리의 다른 글
CORS가 뭔데 (0) | 2023.09.09 |
---|---|
DHCP (2) | 2023.03.17 |
REST API (2) | 2023.03.17 |