web
- 인터넷을 기반으로 한 정보를 공유, 검색할 수 있게 하는 서비스
- URL(주소), HTTP(통신 규칙), HTML(내용)
server
- 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템
web server
- 인터넷을 기반으로 클라이언트에게 웹 서비스(정적인 데이터)를 제공하는 컴퓨터프로그램
클라이언트가 웹서버에게 주소(url)를 가지고 통신규칙(http)에 맞게 요청하면,
서버에서는 이 요청에 대한 데이터를 제공한다.
이 때 데이터는 웹에서 처리할 수 있는 단순 html 문서, css, javascript, 이미지 등 정적 컨텐츠를 말한다.
ex) Apache, Microsoft IIS, nginx 등
WAS (Web Application Server)
: 클라이언트의 요청을 받아 서버에서 무언가를 처리하고 그 결과를 보여주는 동적인 데이터를 처리하는 웹서버
- 웹 서버와 웹 컨테이너가 합쳐진 형태로, 웹 서버 단독으로는 처리하기 힘는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공.
- 웹 어플리케이션을 실행시켜 필요한 기능을 수행해주고 결과를 웹서버에 전달해주는 미들웨어로서, 주로 데이터베이스 서버와 같이 수행.
* 컨테이너 : jsp, servlet을 실행시킬 수 있는 소프트웨어
ex) 톰캣, IBM, WebSphere, JEUS 등
WAS는 DB 조회 및 다양한 로직을 처리하는 데 집중해야 한다. 따라서 단순한 정적 컨텐츠는 웹 서버에게 맡기며 기능을 분리시켜 서버 부하를 방지해야 한다. WAS가 정적 컨텐츠 요청까지 처리하면, 부하가 커지고 동적 컨텐츠 처리가 지연되면서 수행 속도가 느려지고 효율성이 크게 떨어질 것.
웹 서버를 WAS 앞에 두고 필요한 WAS들을 Web Server에 플러그인 형태로 설정하면 더욱 효율적인 분산 처리가 가능할 것.
참고 : 우아한테크코스youtube, 코드사냥꾼 tistory
'웹 개발' 카테고리의 다른 글
HTML (0) | 2021.09.03 |
---|---|
웹 소켓 Web Socket (0) | 2021.05.20 |
웹 Back-End 개발 [JAVA vs. PHP] (0) | 2021.05.14 |
웹 Front-End 개발 [HTML / CSS / JavaScript] (0) | 2021.05.14 |
웹 개발 환경 (0) | 2021.04.07 |