웹 서버와 웹애플리케이션 서버, 이 두가지는 서로 다르지만 밀접히 연동 작동되어 헷갈리는 면이 있습니다.
이 두가지는 정확히 무엇일까요?
웹서버와 웹애플리케이션 서버를 정확히 이해하려면 직접 웹서버 및 웹애플리케이션 서버를 구동하여 프로그래밍해봐야 합니다.
그래야 정확히 알 수 있습니다. 경험하지 못한 것을 글로 이해하는 것은 무척이나 어렵기 때문입니다.
웹서버는 파일 요청 & 전송 기능만 수행합니다.
간단히 파일 송수신만 한다고 보면 됩니다.
클라이언트가 index.html을 요청하면, 자신에게 있는 index.html 파일을 그대로 전달하게 됩니다.
메신저를 통해 단순히 파일을 주고 받는 것과 같죠.
단지, 브라우저를 통해 받은 파일을 보여준다는 점만 다를 뿐입니다.
반면에 웹애플리케이션 서버는 웹서버와 함께 작동하여 프로그래밍 기능을 첨가합니다.
회원가입, 로그인, 게시글 작성, 게시글 보기 등 코딩이 들어간 부분은 모두 웹애플리케이션 서버가 작동한 결과입니다.
실제로 웹개발을 진행하면 프로그래머는 기능들을 코드로 바꿔 넣으며 해당 코드를 웹애플리케이션 서버가 해석하여 적용하게 됩니다.
네이버를 예로 생각해 보겠습니다.
네이버의 각 페이지들마다 웹애플리케이션 서버가 작동되게 되죠.
코딩이 들어가지 않은 페이지가 거의 없으니까요.
최소한 로그인 유무를 확인하는 기능이 있기에, 거의 대부분의 페이지마다 웹애플리케이션 서버가 관여한다고 보면 됩니다.
그런데, 특정 페이지 소스를 보면, 이미지 태그가 있습니다.
이런 이미지들은 단순히 파일 전송과 같기에 웹서버가 관여하게 되죠.
결론적으로, 하나의 웹페이지가 구동되려면 무조건 웹서버는 작동되며,
만약 해당 페이지에 코딩이 되어 있다면 웹서버와 웹애플리케이션 서버가 함께 구동되게 됩니다.
웹 서버와 웹 애플리케이션 서버의 정의를 보고 개념을 정확히 이해하기 힘듭니다.
가장 좋은 방법은 직접 구동해보고 적용해보면서 몸으로 느끼는 것이죠.
위의 글이 이해에 조금이나마 도움이 되셨으면 합니다.