[ Web Server ]
- 클라이언트로부터 http 요청을 받아들이고 html문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램
- 정적 콘텐츠를 제공하는 서버
- 정적 컨텐츠 : 단순 html, css, javascript, 이미지 파일 등 즉시 응답 가능한 콘텐츠
- 동적 콘텐츠 요청을 받으면 was에게 요청을 넘기고 결과를 받아주는 역할을 함
- 대표적인 웹 서버 : apache
[ WAS (Web Application Server)]
- 주로 동적 콘텐츠를 다루며 DB 서버와 같이 동작
- 웹 서버로부터 받은 요청(동적 컨텐츠 요청)을 처리
- 동적 컨텐츠 : 자주 변경되거나 사용자마다 다른 결과를 보여줘야 할 때( ex > 은행 잔고, 마이 페이지 등...)
- 웹 서버와 웹 컨테이너가 합쳐진 형태
- DB 조회, 다양한 로직 처리가 필요한 동적 콘텐츠 제공
- JSP, Sevlet구동 환경 제공
- 대표적인 WAS : tomcat
[ 둘 중 하나만 사용해도 상관없을까? ]
위의 설명을 보면 was만 사용을 해도 상관없지 않을까라고 생각할 수도 있다. 하지만 was의 주요 역할은 DB에서 가지고 온 데이터를 어떠한 로직 처리를 통해 사용자에게 보여주는 역할을 하는데 정적 콘텐츠까지 was가 담당하게 되면 서버의 부하가 커지기 때문에 기능을 분리시켜 서버의 부하를 줄여야 한다. 또한 was가 모든 기능을 수행하면 처리 시간이 효율적이지 못하다는 단점이 생긴다.
[ 최근 동향? ]
서버의 부하를 줄이기 위해 사용되는 방법 중 하나는 요즘 많이 사용되는 vue.js / react.js가 있다. 클라이언트의 컴퓨터 사양이 높아짐에 따라 서버의 부하를 줄이고 클라이언트가 조금 더 많은 기능을 수행하는 것이다. 하지만 이 또한 단점이 있다. 바로 javascript의 파일 용량이 커지면서 처음 페이지에 들어갈 때 페이지 렌더에 시간이 오래 걸릴 수 있다는 것이다. 여러 가지 처리를 할 수도 있겠지만 여기서는 자세히 다루지 않겠다.
'웹 기초' 카테고리의 다른 글
JAVA 1.8 신 기능 (0) | 2022.02.04 |
---|---|
VO(Value Object) vs DTO(Data Transfer Object) and Entity (0) | 2022.02.03 |
에자일 방법론(Agile) (0) | 2022.02.01 |
HTTP vs HTTPS (0) | 2022.01.31 |