웹 서버
- 하는 일
- 정적 컨텐츠 제공 : 웹 리소스를 클라이언트로 전달 또는 클라이언트로부터 콘텐츠를 받아 저장 및 처리
- 동적 컨텐츠 제공 요청이 들어오면 WAS에게 요청
- 물리적 형태 : 타워형, 랙 마운트형
- 서버 안의 OS : Linux, Windows Server, UNIX
- Linux : 기능 구현이 조금 어렵지만, 필요한 기능만을 추가하기 때문에 디스크 절약, 안정성 향상과 더불어 비용도 저렴하게 할 수 있음
- Window Server : 많은 기능이 구현되어 있어서 필요한 기능을 비교적 간단하게 설정할 수 있지만, 유지보수를 포함해 비용이 어느정도 소요될 수 있음
- 웹 서버는 기능이 한정되고 최소한의 기능만 필요한 경우가 많기 때문에 간단한 기능과 비용이라는 관점에서 Linux를 선호하는 경우가 늘고 있음
- ex) Apache, Nginx, IIS
WAS (Web Application Server)
- 하는 일
- 프로그램 실행 환경 및 DB 접속 기능 제공
- 여러 트랜잭션 관리 기능
- 업무 처리하는 비즈니스 로직 수행
- 동적인 요청을 받아 처리해주는 서버 (w/ 데이터베이스 서버)
- 웹 어플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크
- HTTP를 통해 애플리케이션을 수행해주는 미들웨어 (소프트웨어 엔진)
- 웹 서버가 하는 일도 할 수 있음
- 하지만 각자 맡은 일에만 집중하게 해서 서버 부하를 방지해야 하기 때문에 (동적 컨텐츠 처리가 지연되면서 수행 속도가 느려져 페이지 노출 시간이 늘어나는 문제 발생), 웹 서버에게 맡길 일까지 WAS에게 맡기는 것은 좋지 않다. 웹 서버는 정적 컨텐츠만 처리하도록 분배해야 한다.
- 여러 대의 WAS를 연결 지어 사용할 수 있다. 웹 서버를 앞 단에 두고, WAS에 오류가 나면 막아둔 후 재시작해서 해결 가능함
- ex) Tomcat, JBoss, Jeus, Web Sphere
웹 서버와 WAS의 차이점
- 목적이 다르다.
- 웹 서버 : 정적인 데이터 처리 (이미지, 단순 html)
- WAS : 동적인 데이터 (DB 연결이 필요한 경우)
- 분리해서 쓰는 이유 : 자원 이용의 효율성 + 장애 극복 + 배포 및 유지 보수 편의성
- 가장 효율적인 방법 : 웹 서버를 WAS 앞에 두고, 필요한 WAS들을 웹 서버에 플러그인 형태로 설정하면 효율적인 분산 처리가 가능하다.
웹 서비스의 구조들
- client → web server → DB
- client → WAS → DB
- client → web server → WAS → DB
참고 문헌
웹서버와 WAS(Web Application Server)
웹서버와 WAS에 대하여.
pxd-fed-blog.web.app
그림으로 배우는 웹 구조 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
Web Server와 WAS의 차이 | 👨🏻💻 Tech Interview
Web Server와 WAS의 차이 웹 서버와 was의 차이점은 무엇일까? 서버 개발에 있어서 기초적인 개념이다. 먼저, 정적 페이지와 동적 페이지를 알아보자 Static Pages 바뀌지 않는 페이지 웹 서버는 파일 경
gyoogle.dev
[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
'Dev > Web' 카테고리의 다른 글
카카오톡으로 링크 공유시 오픈 그래프 이미지 안 나올 때 (공유 디버거 사용하기) (0) | 2023.09.21 |
---|---|
배포 후 React-flask cors 해결하기 (react proxy는 소용 없음) (0) | 2023.04.03 |
Mixed Content : This request has been blocked; the content must be served over HTTPS. (0) | 2023.04.03 |
브라우저의 동작과정 (0) | 2023.01.27 |
링크 공유 시 미리보기 썸네일 설정하기 (meta 태그) (1) | 2023.01.04 |