Web Server
정적 데이터, 정적 처리
ex) Apache, NginX
WAS
웹서버 + 웹 컨테이너
동적 데이터, 동적 처리
스프링 내장 was는 톰캣이다.
ex) 아파치 톰캣 == 톰캣 (같다)
Web server는 정적인 데이터. 정적인 기능.
여기서 동적인 기능을 가능하게 하는게 WAS.
WAS는 웹서버 + 웹 컨테이너(웹앱 실행환경)
WAS 자체만으로도 웹서버 기능이 가능하다.
근데도 실무에서 WAS앞에 Web Server를 두는건, 역할분할, 로드밸런싱, 리버스프록시, 무중단배포 등등을 위해서이다.
스프링부트는 웹개발을위한 웹 프레임워크, 내부적으로 was는 아파치톰캣 사용, Nginx 웹서버를 추가로 달아서 무중단배포, 로드밸런싱, 리버스 프록시.
Django는 웹개발을위한 웹 프레임워크, django 자체만 was 기능을 한다고 보기도 하고, wsgi + django = was보기도 함. wsgi는 웹서버와 django가 통신하기 위한 미들웨어. Nginx 웹서버를 달아야만 배포 권장.
Nodejs는 웹개발을 위한 웹 프레임워크, was, web server 다 가능. Express.js 이용해 쉽게 web server 연동 가능.
사실 JAVA 외에는 Web Server, WAS를 명확히 구분하지 않는다
아래는 스프링 부트 환경이다.
참고
WebServer vs WAS
(https://velog.io/@chae_eun/%EC%9B%B9%EC%84%9C%EB%B2%84%EC%99%80-%EC%9B%B9%EC%96%B4%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%84%9C%EB%B2%84WAS)
(https://melonicedlatte.com/web/2019/06/23/210300.html)
(https://brunch.co.kr/@springboot/21)
(https://ws-pace.tistory.com/126)
(https://sorjfkrh5078.tistory.com/118)
(https://tecoble.techcourse.co.kr/post/2021-05-24-apache-tomcat/)
(https://velog.io/@gth1123/Web-server-vs-WAS)
아파치톰캣, 아파치
(https://adg0609.tistory.com/55)
자바 외에는 WAS 별도로 구분하지 않는다
(https://velog.io/@dleunji/Web-Server-WAS)
Django에서의 WebServer, WAS
(https://itmining.tistory.com/135)
(https://russwest.tistory.com/8)
(https://ahzick.tistory.com/entry/Web-Server-WAS-WSGI-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0)
'[SpringBoot]' 카테고리의 다른 글
SpringBoot Swagger 연동 (0) | 2022.12.13 |
---|---|
SpringBoot NginX 연동 (MAC local) (0) | 2022.12.13 |
SpringBoot GitHub 연동하기 (0) | 2022.12.11 |
SpringBoot 간단 실습 - 4 ORM과 JPA (0) | 2022.12.11 |
RESTful 아키텍쳐 스타일 (0) | 2022.12.10 |