웹서버
말그대로 웹사이트를 제공하는 서버를 의미한다.
웹 사이트가 서비스 될 때 필요함 왜?
우선 웹사이트는 브라우저
에서 돌아간다 (크롬, 사파리, 파이어폭스 등등)
그리고 브라우저가 읽을 수 있는 코드는 html, css, javascript 각종 이미지와 데이터들이 있으며 이러한 리소스 들을 서버에서 사용자의 컴퓨터
로 보내줄 수 있어야 한다.
이러한 파일(html, css...) 들은 원래 서버 컴퓨터의 특정 폴더, 다이렉토리에 저장되어 있으며 이 폴더를 외부에서 접근 가능하도록 개방해 서버에 지정된 웹사이트 주소로 접속하면
이것들을 받아갈수 있게 된다.
이때 필요한것이 바로 웹서버
이다.
Web Server를 사용하면 필요할때마다 서버에 요청을 보내지 않고 웹서버에서 정적 컨텐츠만 처리하도록 기능을 분배하여 서버의 부담을 줄일 수 있게 된다.
아파치, 톰캣, Nginx IIS(윈도우 서버) ...
위와 같은 프로그램들이 서버 컴퓨터에 있는 특정 폴더를 개방한 후 필요한 Html 등의 파일들을 가져와 웹사이트를 제공할 수 있는 게 한다.
즉, 서버에 정해진 사이트 주소로 접속하면 필요한 파일들을 꺼내와서웹 사이트를 띄울수 있게 하는 것
어떤 웹 프레임워크든 앞단에 아파치 혹은 nginx를 두는것이 보안측면
의 이유가 크다.
DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 Web Application Server
자바랑 Jsp로 만든 웹 또는 API 어플리케이션을 실행할때 이 톰캣같은 web application server(Was)를 사용 즉,'웹' 이랑 '서버' 사이에 '어플리케이션'이란 말이 들어가서 was 가 되었다.
예로 들자면, 아파치 + php, mysql 를 연동시켜 동적인 php 웹사이트 제공(apm)해 왔고, 아파치에 php를 해석할 수 있는 모듈을 세팅 해 두면 웹 접근이 있을때마다 php 코드에 적힌 레시피대로 MySQL에 있는 데이터를 가져와서 아파치가 처리하여 제공 해주는 것이라 할 수 있다.
https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
https://www.youtube.com/watch?v=Zimhvf2B7Es