[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/WEB

웹서버와 WAS

inu 2021. 7. 17. 22:50
반응형

웹서버

  • 일반적으로 '서버'라고 하면 서버역할을 하는 컴퓨터를 뜻한다.
  • 하지만 어떤 컴퓨터가 서버역할을 하도록 도와주는 소프트웨어도 서버라는 이름으로 부른다. (=웹서버)
  • 웹서버는 이름 그대로 웹사이트를 제공하는 소프트웨어로 html,css,js 및 기타 asset 파일 등을 사용자에게 보내는 역할을 한다.
  • apache-php-mysql(apm)과 같이 기초적인 구조의 동적 웹은 처리할 수도 있지만 다른 구조는 처리할 수 없는 경우가 많다.

  • 대표적으로 ApacheNginX가 있다.

WAS

  • Web Application Server의 약자
  • 단순히 웹을 제공해주는 것이 아닌 동적 웹페이지 생성과 같이 프로그래밍되어 내장된 작업을 수행한 후 전달하는 기능까지 보유하고 있다.
  • Tomcat을 예를 들자면, 스프링으로 코딩한 웹앱을 .war파일로 빌드하면 그 안에 .class,jsp,이미지,css,js 등이 압축되어 있다. 이를 웹서버에 전달해 사용자에게까지 전달될 수 있도록 하는 것이다. (cf. 요즘은 spring을 톰캣이 들어있는 .jar 파일로 빌드해 배포한다.)
  • 이렇게 WAS는 내장된 웹사이트를 동적으로 변경하는 작업을 주로 수행한다.

  • 대표적으로 TomCat,Node.js,Django 등이 있지만, 정확히 구분하자면 TomCat을 제외한 것들은 WAS가 아니다. 사실 다 정의하기 나름인데, 진영마다 배포구조가 다 달라서 특정 진영의 어떤 프로그램이 WAS라고 콕 찝어서 말하기는 어렵기 때문이다. 다른 소프트웨어들은 그 외에도 많은 기능을 수행한다.

정리 및 결론

  • 보통 웹서버가 제일 앞단에 위치하며 웹파일을 받아 사용자한테 보내주는 역할을하고, 그 뒤에서 WAS(혹은 비슷한 타기능의 소프트웨어)가 웹을 처리하여 이를 웹서버에 전달한다.
  • 참고로 WAS도 리소스 전달은 할 수 있다. 앞서 언급했듯이 웹서버도 웹페이지 빌드 및 처리가 가능하다. 즉, 기능이 겹치는 부분도 존재한다는 것이다. 하지만 각 소프트웨어가 더 잘하는 것을 특화하여 관리하도록 하기 위해 둘 모두를 사용하는 경우가 더 많다.
  • 또한 웹서버에는 WAS에는 존재하지 않는 reverse proxy기능, WAS가 정상적으로 돌아가고 있는지 체크하는 기능 등이 존재하기 때문에 더욱 가치가 높다.
  • cf. reverse proxy : 서버의 주소를 직접적으로 노출하지 않도록 외부 주소를 하나 생성해놓는 것 / 보안상 내부 구조(리소스위치, 서비스포트위치)를 감출 때 사용 / 로드밸런싱이나 캐싱 가능
반응형

'🛠 기타 > WEB' 카테고리의 다른 글

Redux - createStore / dispatch / subscribe  (0) 2021.04.18
Redux - 기초 개념  (0) 2021.04.17
Nodejs - boilerplate  (0) 2021.04.16
Node.js - bcrypt  (0) 2021.02.04
JWT (JSON Web Token)  (0) 2021.02.03