학습 | 웹서버(Webserver)
웹서버란 무엇일까
서브젝트 문서를 한 문장으로 요약한다면 '웹서버를 만들라'는 것입니다. 그렇다면 웹서버란 무엇일까요? 위키에는 아래와 같이 정의되어 있어요.
웹 서버(Web Server)는 HTTP를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램을 말한다. 웹 서버의 주된 기능은 웹 페이지를 클라이언트로 전달하는 것이다. 주로 그림, CSS, 자바스크립트를 포함한 HTML 문서가 클라이언트로 전달된다.
어렵게 생각할 필요가 없어요. 사용자적 관점에서 보면, 우리는 키보드나 마우스와 같은 입력 장치를 통해 저 멀리 어딘가에 있는 컴퓨터에게 요청을 보냅니다. "네가 가지고 있는 특정 리소스를 내가 원하는 방식으로 처리하고, 그 결과를 나에게 돌려달라"고 말이죠.
이 때 요청하는 쪽이 클라이언트, 요청을 처리하고 응답하는 쪽이 서버가 되는 거에요. 가장 대표적인 클라이언트는 브라우저로, 사용자를 대신해서 요청을 서버에게 보내고 그 처리결과를 화면에 띄워주는 역할을 합니다. 이 때 어떤 문자열 형식으로 서버에 요청을 보낼 것인가, 클라이언트에게 응답을 보낼 것인가에 대한 형식적 약속(프로토콜)이 바로 HTTP인 것이고요.
그러니까 결국 웹서버를 만들라는 얘기는, 클라이언트가 리퀘스트를 보내오면 보유하고 있는 특정 리소스를 클라이언트가 요청하는 방식대로 처리하고 그 결과를 돌려주는 프로그램을 만들라는 얘기입니다. 멘토님이 "프로그래밍의 기본은 입력, 처리, 출력이다"라는 얘기를 하신 적이 있는데요. 웹서버 역시 프로그램일 뿐이고, 알고 보면 요청(입력), 처리, 응답(출력)이 전부입니다.
Last updated
Was this helpful?