티스토리 뷰

728x90
반응형

저도 웹 개발을 시작한 지 어언 4년 반이 지났네요. 그 전에는 웹서버에 대한 개념이 없었어요. 아, 정확히 말하면 웹 개발을 시작 했지만 프론트엔드 개발을 위주로 하다 보니 웹 서버에 대한 개념은 계속 없긴 했어요. 하지만 시간이 지나고, 제 개인 페이지를 만들고 싶어져서 조사를 하다보니 꼭 알아야 할 웹 서버 지식이 있더라구요.

 

혹시나 웹 프론트엔드 개발만 하다가 개인의 페이지를 만들고자 하신다면 꼭 필요한 정보가 되실 것 같아요.

 

 

웹서버는 파일 공유 폴더

 

우리가 보통 파일을 공유하기 위해서 공유 폴더를 만들어 쓰곤 합니다. 물론 다른 역할이 있지만, 가장 쉽게 표현한 단어가 아닐까 싶어요. 웹 서버는 단순히 파일 서버를 80포트로 열어둔 것으로 이해하고 시작해도 될 것 같아요. 그리고 그 80 포트로 브라우저에서 접속하게 되면 index.html 을 로드하게 되고, 그 이후로는 이 index.html에서 연결되는 javascript, css, html 파일들을 모두 불러오게 되는 겁니다.

 

 

정적 사이트
동적 사이트

 

정적 사이트와 동적 사이트의 가장 큰 차이점은 웹 서버에 Application Server 를 포함하고 있는가, 포함하지 않고 있는가로 결정됩니다. 예전에는 WAS라고 불리던 Web Application Server 라는 것으로 정의 했었는데요. 최근에는 개념이 좀 바껴가고 있는 듯 합니다. 

 

여기서 Application Server가 있다는 것은 서버에서 여러가지 다른 역할들을 해 줄수 있다는 의미입니다. 예를 들면 Login 계정을 관리한다던지, DB를 통해 데이터를 관리해서 원하는 시점에 그 데이터를 받아와서 보여줄 수 있도록 해준다던지 하는 역할들이죠.

 

하지만 정적 사이트는 Application Server가 불필요합니다. 단지 Web Resource만으로 모든 것을 구동하므로 서버는 html, css, javascript 를 보내줄 수 있는 기능만 있으면 되는거죠. 간단히 javascript를 통해 제어할 수 있는 로직이면 얼마든 제공할 수는 있습니다. 예를 들면 계산기나 시간 계산기, 글자수 세기 등 특별히 DB가 필요없이 운영 가능한 서비스들이 여기에 속한다고 할 수 있습니다.

 

 

 

 

WAS 와 Web Server

 

그렇다면 과연 WAS와 Web Server는 어떻게 다를까요? 위 글을 통해 대부분 감이 오실 것 같아요. 하지만 사실 WAS는 Web Server를 포함하는 개념이었습니다. 제가 최근에 개념이 좀 바뀌고 있다고 언급 드린 이유가 여기 있습니다. WAS는 과거에 통용되던 개념은 아래와 같은 구조였어요.

 

 

 

 

 

하지만 최근에는 위와 같이 사용하지 않습니다. 왜냐하면 Web Server 와 Web Container 의 역할이 분리 되어야만 하는 상황들이 많이 생기게 된거죠. 그래서 아래와 같이 완전히 분리된 개념을 많이 사용하고 있습니다. 그래서 WAS가 Web Server를 포함하는 형태를 많이 보이고 있었지만, 최근에는 그렇게 쓰이지 않는다는 말씀을 드렸어요. 아래 그림을 더 참고 해 보시죠.

 

 

 

웹 서버와 웹 어플리케이션 서버를 분리하여 사용해서 얻을 수 있는 이점은 아래와 같습니다.

  • Web Client에 줄 수 있는 빠른 반응성
  • WAS의 분산 처리 가능
  • 방대한 데이터를 처리하기 수월함

 

 

지금까지 웹페이지를 만들기 위한 아주 아주 간단하지만 필수적인 웹 서버 및 WAS의 개념에 대해 알아보았는데요.

초보자도 얼마든지 쉽게 이해하실 수 있도록 예를 많이 들어보았는데 이해가 쉬우셨는지 모르겠어요.

 

어차피 여러 자료를 찾아 보시겠지만, 제가 정리한 자료와 다른 깊이있게 정리된 자료를 함께 보면서 활용하시면 이해하시는데 더욱 도움이 되실 거라 생각합니다.

 

다음에는 SPA 과 더불어 개인 페이지를 만들 수 있는 사이트를 소개 해 드리도록 할게요.

 

 

열정으로 열공해보아요 ^^

728x90
반응형
댓글