본문 바로가기

개발스터디/스프링 스터디 (20년)

웹 서버와 WAS 의 차이점

평소에 웹서버와 WAS 서버를 혼용해서 용어 사용을 하고있었던 터라 

WAS 와 웹서버에 대한 차이점에 대해서 포스팅을 하려고 마음을 먹었다.

 

마지막 포스팅은 테스트 WAS 서버를 만들어보는 포스팅이었는데,

그때는 WAS 서버가 로컬서버의 반댓말인지 알았다. 

 

내 피씨에서만 접속할수 있으면 : 로컬서버

네트워크 대역대 공유하는 사람들이 전부 접속 가능하면: WAS 서버

 

하지만, 정확한 개념은 다음과 같다.

  • 웹 서버는 정적인 컨텐츠( html, css, js )를 제공하는 서버
    • ex) Apache, Nginx 
  • WAS는 DB 조회나, 어떤 로직을 처리해야 하는 동적인 컨텐츠를 제공하는 서버
    • ex) Tomcat, Jeus

 

그렇다면 내가 테스트 WAS 서버를 구축했는데 , 그것은 웹서버와 WAS 서버가 같이 작동하고 있는것이었다.

 그렇다면 왜 웹서버와 WAS 서버를 분리해서 둘다 사용을 할까? 라는 궁금증이 생길것이다.

 

1) WAS가 해야 할 일의 부담을 줄이기 위해서

WAS 앞에 웹 서버를 둬서 웹 서버에서는 정적인 문서만 처리하도록 하고, WAS는 애플리케이션의 로직만 수행하도록 기능을 분배하여 서버의 부담을 줄이기 위한 것

그렇다면, 내가 테스트 WAS 서버를 구축한것은 사실상 웹서버만 구축을 한것이지 않은가?

실제로 db를 조회하고 로직들을 처리하는 동적인 컨텐츠는 어디서 제공하고 있는것이지? ---> 의문이 생겼다.

 

2) WAS의 환경설정 파일을 외부에 노출시키지 않도록 하기 위해서

클라이언트와 연결하는 포트가 직접 WAS에 연결이 되어 있다면 중요한 설정 파일들이 노출될 수 있기 때문에 WAS 설정 파일을 외부에 노출시키지 않도록 하기 위해서 웹 서버를 앞단에 배치시킵니다.

 

웹 서버와 WAS에 접근하는 포트가 다르기 때문에, WAS에 들어오는 포트에는 방화벽을 쳐서 보안을 강화할 수도 있습니다. 실제로 WAS에는 방화벽을 쳐서 차단할수 있다.

 

참조) 

https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

https://victorydntmd.tistory.com/121

'개발스터디 > 스프링 스터디 (20년)' 카테고리의 다른 글

[프로젝트 개발환경 설치]  (0) 2021.06.27