단순히 파일을 전달해주는 친구다. 이게 전부다.
사용자가 요청하면 위에서 정적 페이지를 준다.
만약 DB를 이용하거나 데이터를 가공해야하는 동적인 요청이 들어오면, 웹 서버는 처리할 수 없기 때문에 요청을 WAS에게 넘기고 처리된 결과를 받아와 클라이언트에게 전달한다.
웹 서버가 못하는 복잡한 머리쓰는 일을 한다. 웹 서버로부터 동적인 요청을 넘겨 받아 DB에서 데이터를 가져오는 등 비즈니스 로직을 처리한 뒤 다시 웹 서버에게 넘겨준다.
웹 서비스는 아래와 같이 다양한 구조로 이루어질 수 있다.
WAS는 웹 서버의 역할도 수행할 수 있기 때문에 위 2번 처럼 웹 서버 없이 WAS만 존재할 수도 있다.
WAS를 웹 서버를 포함하는 개념이기도 하다.
그렇다면 굳이 웹 서버를 따로 사용하는 이유는 무엇일까?
서버에서 별도의 가공 없이 저장된 그대로 사용자에게 전달되는 웹 페이지.
언제, 누가, 어떻게 열던 페이지의 내용이 같다.
ex) image, html, css, javascript 등등.. 컴퓨터에 저장되어 있는 파일
서버가 DB에서 정보를 가져오거나, 데이터를 가공한 후 생성되어 보여지는 웹 페이지.
사용자, 상황, 시간, 요청에 따라 페이지의 모습이 달라질 수 있다.
ex) 사용자에 따라 보여주는 정보가 다른 '마이페이지'
웹 서버에 파일을 요청할 때, 우리는 브라우저의 '주소창'이라고 부르는 부분에 요청할 자원의 위치를 적는다.
URL은 자원의 위치 주소를 표기하기 위한 규칙이다.
일반적으로 아래와 같은 형태를 가진다.
Protocol://Hostname:port/file_path/query
프로토콜 : 데이터를 주고 받는 규칙, 방식 웹 서버와 클라이언트는 HTTP라는 프로토콜을 가지고 통신한다. 우리가 보는 웹사이트들의 URL이 http:// 으로 시작하는 이유이다. + (URL은 웹 요청에만 쓰이지 않는다.)