웹 서버는 크게 소프트웨어 측면과 하드웨어 측면에서 볼 수 있다. 이 중에서 나는 소프트웨어 측면에서 바라본 웹 서버에 대해 글을 작성하려 한다.
웹 브라우저와 같은 클라이언트로부터 HTTP요청을 받아들이고,
HTML문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램
쉽게 말하자면 웹 서버는 HTTP를 통해 웹 브라우저에서 요청하는 HTML 문서나 콘텐츠(이미지 파일 동영상 등)을 전송해주는 서비스 프로그램을 말한다.
Web server의 주된 기능은 콘텐츠를 제공하는 것이지만 클라이언트로부터 콘텐츠를 전달 받는 것도 웹 서버의 기능에 속한다. 이러한 기능은 파일 업로드를 포함하여 클라이언트에서 제출한 웹 폼을 수신하기 위해 사용된다.
만약 클라이언트(브라우저)가 웹 서버에서 불려진 파일을 필요로 할때는 어떤 방식으로 작동이 될까?
브라우저는 HTTP를 통해 웹 서버에 필요한 파일을 요청한다. 브라우저가 보낸 요청이 올바른 웹 서버(하드웨어)에 도달하였을 때, HTTP 서버(software)는 요청된 문서를 HTTP를 이용해 보내준다.