웹 서버란?

HTTP 요청을 처리하고 응답을 제공하는 서버

웹 서버 소프트웨어와 웹페이지 제공에 특화된 장비 모두를 가리킨다.

웹 서버는 HTTP 및 그와 관련된 TCP 처리를 구현하며, 자신이 제공하는 리소스를 관리하고 웹서버를 설정, 통제, 확장하기 위한 관리 기능을 제공한다.

다목적 소프트웨어 웹 서버의 형태와, 전자기기 안에 내장된 임베디드 웹 서버 등 여러 형태가 가능하다.

다목적 소프트웨어 웹 서버

네트워크에 연결된 거의 모든 컴퓨터와 운영체제에서 동작한다.

수만 가지 종류의 웹 서버 프로그램이 존재하며, 그 중 Microsoft Apache, nginx 등이 널리 사용된다.

임베디드 웹 서버

일반 소비자용 제품에 내장될 목적으로 만들어진 작은 웹 서버.

기기를 간편한 웹 브라우저 인터페이스로 관리할 수 있게 해준다.

웹 서버가 하는 일

웹 서버는 공통적으로 다음의 일들을 수행한다.

  1. 커넥션을 맺는다 - 클라이언트의 접속을 받아들이거나, 원치 않는 클라이언트라면 닫는다.
  2. 요청을 받는다 - HTTP 요청 메시지를 네트워크로부터 읽어 들인다.
  3. 요청을 처리한다 - 요청 메시지를 해석하고 행동을 취한다.
  4. 리소스에 접근한다 - 메시지에서 지정한 리소스에 접근한다.
  5. 응답을 만든다 - 올바른 헤더를 포함한 HTTP 응답 메시지를 생성한다.
  6. 응답을 보낸다 - 응답을 클라이언트에게 돌려준다.
  7. 트랜잭션을 로그로 남긴다 - 로그파일에 트랜잭션 완료에 대한 기록을 남긴다.