개발 기록이

[용어정리] 웹서버와 WAS 본문

기록/용어정리

[용어정리] 웹서버와 WAS

studyingbackhoe 2023. 8. 6. 12:25

1. 웹서버

  • http 프로토콜 기반(http 요청을 받아 콘텐츠를 제공)
  • 정적 콘텐츠를 제공하는 서버
  • 단순 html 문서, css, 이미지, 파일 등 즉시 응답 가능한 콘텐츠
  • 정적 콘텐츠가 아닌 동적 콘텐츠를 요청 받으면 WAS에게 해당 요청을 넘겨줌
  • WAS에서 처리한 결과를 client에게 전달하는 역할 O

    ex) 아파치, Webtob
 

2. WAS(Web Application Server)

  • http 프로토콜 기반
  • 주로 데이터베이스 서버와 같이 수행됨
  • DB 조회/다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application 서버.
  • JSP, Servlet 구동 환경을 제공해 줌 -> 그래서 서블릿 컨테이너/웹 컨테이너라고 불리기도 함

    ex) 톰캣, JBoss, WebSphere, JEUS
 

웹서버, WAS 서버

 

따로 존재하는 이유?

  • WAS는 웹서버의 역할을 수행할 수 있지만, 분리해줘야 한다.
  1. 서버 부하 방지 : WAS가 정적 콘텐츠 요청까지 처리하면 부하 커지고 수행 속도가 느려져서 효율성이 크게 떨어짐.
  2. 보안 강화 : SSL에 대한 암복호화 처리에 웹 서버 사용이 가능함.
  3. 여러 대의 WAS 연결 가능 : 로드 밸런싱을 위해 웹 서버를 사용할 수 있음. 운영 장애 극복에 쉽게 대응이 가능 
  4. 여러 웹 어플리케이션 서비스 가능 : 하나의 서버에 여러 언어의 웹 어플리케이션 서비스가 가능함.


자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 웹서버/WAS를 각기 사용함.


ex) 아파치 톰캣을 웹서버, WAS서버로 구분해 보면,
 
1. Apache -> 웹서버

  • http 웹 서버
  • 정적인 데이터 처리(단순 html, css, 이미지)

 
2. Tomcat -> WAS(웹 컨테이너, 서블릿 컨테이너)

  • 동적인 데이터 처리(DB연결 데이터 처리, business 로직 처리)

 


출처:  https://binux.tistory.com/32, https://velog.io/@ssssujini99/Web-Web-Server%EC%99%80-Was%EC%9D%98-%EC%B0%A8%EC%9D%B4