아무튼!

[CS] Web/Was란? 본문

Computer Science (CS)/CS

[CS] Web/Was란?

yucori 2023. 10. 18. 20:09
반응형

web/was 썸네일
web과 was

Web과 Was란?


1. Web(Web Server)이란?

 웹서버에 대해 알기 위해서는 먼저 웹과 서버에 대해서 알아야 한다. 서버에 관하여 이야기할 때에는 웹서비스를 웹이라고 말하기도 하지만 이 글에서는 구분을 명확히 하기 위하여 두 단어를 구분하여 사용하겠다.

웹 서버 아키텍쳐 이미지
웹 서버 아키텍쳐

1-1. 웹(Web)이란?

 WWW(World Wide Web)이라 부르기도 하며 인터넷 망에서 거미줄같이 사용자들끼리 양방향으로 정보와 서비스를 주고받을 수 있는 환경을 뜻한다. 웹을 작동하기 위해서는 웹 서버, 웹 클라이언트, 웹 브라우저, 프로토콜(HTTP), 웹 애플리케이션 등이 필요하다.

 

1-2. 서버(Server)란?

 서버란 '제공하다'라는 뜻의 'Serve'와 '-하는 사람'이라는 뜻을 지닌 접미사 '-er'가 합쳐진 단어이다. 즉 클라이언트에게서 온 요청에 따라 정보나 서비스를 응답해 주는 시스템을 뜻한다.

 

그렇다면 웹 서버(Web Server)란 무엇일까?

웹서버는 소프트웨어와 하드웨어로 구분하여 표현할 수 있다.

  1. 소프트웨어적 의미
    •     웹 브라우저 클라이언트로부터 HTTP 요청을 받고 정적인 형태의 응답(html, css, jpg 등)을 제공하는 컴퓨터 프로그램
  2. 하드웨어적 의미
    •     위의 기능을 수행하는 웹서버가 설치되어 있는 컴퓨터

이러한 기능 외에도 동적인 콘텐츠 제공을 위해 클라이언트와 WAS의 중간에서 요청과 응답을 전달해 주는 역할을 하기도 한다. 

 

EX) Apache, IIS, Nginx, GWS 등

    

 

2. 웹 애플리케이션 서버(WAS, Web Application Server)란?

 '웹 응용 서버'라고 불리기도 하는 웹 애플리케이션 서버(WAS)는 데이터베이스 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버이다. 인터넷상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진역할을 수행한다.

 

WAS는 웹 서버의 기능들을 구조적으로 분리하여 처리하고자 하는 목적으로 생겨났다. 따라서 WAS는 여러 개의 트랜잭션을 관리할 수 있으며 보안, 메시징, 스레드 처리 등의 기능을 처리하는 분산 환경에서 사용된다.

 

요약하자면 WAS는 웹 서버와 JSP, Servlet을 실행시킬 수 있는 웹 컨테이너로 이루어진 서버이다.

 

EX) Tomcat, WebSphere, JBoss 등

 


WAS는 정적인 콘텐츠를 관리하는 Web Server의 역할까지 수행할 수 있다.

'그러면 WAS로 모든 콘텐츠를 처리하면 되는 것 아닌가?'라고 생각되기도 한다.

하지만, 이들은 사용 목적에 따라 구분되어 사용되는 것이 권장된다. 

이유는 다음과 같다.

  • WAS를 통해 정적인 콘텐츠를 관리하는 것보다 웹 서버가 더욱 빠르고 안정적이게 정적인 콘텐츠를 처리할 수 있다.
  • 일반적으로 웹은 정적인 콘텐츠와 동적인 콘텐츠가 혼합되어 있는데, WAS가 정적 콘텐츠까지 처리하게 되면 그동안 동적 콘텐츠의 처리가 늦어지게 되고 서버 부하가 발생할 수 있다.

 

따라서 웹 사이트를 구동하고 관리하는 데에는 목적과 상황에 맞추어 웹 애플리케이션 서버와 웹 서버를 적절하게 혼합하여 운용할 것이 요구된다.

 

 

 


참조

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

https://dataonair.or.kr/db-tech-reference/d-lounge/expert-column/?mod=document&uid=52353

https://gaone.tistory.com/35