Web Server
HTTP 프로토콜을 기반으로 클라이언트가 서버에 요청을 하면 정적 컨텐츠를 제공하는 서버
- 클라이언트에서 요청이 올 때 가장 앞에서 요청에 대한 처리를 한다.
- 정적 컨텐츠를 요청 받으면 요청에 데한 데이터를 만들어서 응답한다.
- 동적 컨텐츠를 요청 받으면 WAS에게 해당 요청을 넘겨주고 WAS 에서 처리한 결과를 클라이언트에게 전달해준다.
- Ex) Apache,Nginx 등이 있다.
WAS
WAS는 웹 서버와 웹 컨테이너가 합쳐진 형태로서 웹 서버 단독으로는 처리할 수 없는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공
- DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공한다.
- JSP,Servlet 구동 환경 제공
- 웹 컨테이너 혹은 서블릿 컨테이너라고 부른다.
- EX ) Tomcat,JBoss
** 웹 컨테이너: 웹 서버고 보낸 JSP,PHP 등의 파일을 수행한 결과를 다시 웹 서버로 보내주는 역할
WAS 만 사용?
- 서로의 기능을 분리하여 서버 부하를 방지할 수 있다.
- WAS는 정적,동적 처리 둘다 가능하기 때문에 작은 규모의 서비스는 WAS 한개만 사용하는 경우도 있다.
- 하지만 서비스의 규모가 커지면 WAS가 혼자 처리하게 되면 부하가 많이 걸린다.
- 그래서 서로 기능을 나누어 정적 컨텐츠는 Web Server가 동적 콘텐츠는 WAS가 처리한다.
- 보안을 강화할 수 있다.
- SSL에 대한 암복호화 처리에 웹 서버를 사용한다.
- 결국 자원 이용의 효율성 및 장애 극복, 배포 및 유지보스의 편의성을 위해 Web Server와 Was를 분리한다.
- WAS 앞에 Web Server를 두고 필요한 WAS들을 Web Server에 플러그인 형태로 설정하면 더욱 효율적인 분산 처리가 가능하다.
'WEB' 카테고리의 다른 글
[WEB] MVC 패턴 (0) | 2022.07.18 |
---|---|
[WEB] HTTP (0) | 2022.07.05 |
[WEB] ORM (1) | 2022.06.06 |
[WEB] 쿠키와 세션 그리고 로컬 스토리지 (0) | 2022.06.03 |
[WEB] JWT란 (0) | 2022.05.15 |