웹 서버

From CS Wiki

Web Server

주로 HTTP 프로토콜을 이용하여 정적인 웹페이지를 보여주는 역할을 하는 서버를 의미한다. 그 역할을 하는 물리적인 서버 또는 호스트를 가리키는 말이기도 하지만 동시에 해당 서버에 설치되는 Apache, NginX 등의 웹 서버 프로그램 자체를 가리키기도 한다.

  • Apache와 같은 웹 서버 프로그램은 '웹 서버 프로그램'이라고 불리지 않고 일반적으로 그냥 '웹 서버'라고 불린다. 즉 웹 서버라는 말은 물리적 웹 서버와 웹 서버 프로그램을 혼용하여 지칭하는 말이다.

물리적인 웹 서버[edit | edit source]

웹 서비스 솔루션들이 설치되어 이들을 구동하기 위한 서버를 가리킨다. WAS와 구분되어 있는 경우, 동적인 처리나 무거운 연산은 WAS에 요청하여 처리하기 때문에 상대적으로 필요 사양은 상대적으로 낮다. 사용자들이 접근하는 채널로, 공개용 웹서비스를 운영하는 경우 웹 서버는 DMZ 구간에 위치하여야 한다.

물론 가상화 환경에서 논리적으로만 존재하는 웹 서버 용도의 인스턴스들 또한 웹 서버라고 불린다.

웹 서버 프로그램[edit | edit source]

웹 서버 프로그램이란 HTTP 프로토콜을 이용하여 웹페이지를 보여주는 역할을 하는 프로그램을 의미한다. 일반적으로 그냥 '웹 서버'라고 불린다. 시장 점유율은 아파치, 엔진엑스, IIS 순으로 높다.

기능[edit | edit source]

웹서버는 HTTP, HTTPS, 통신기록, 인증, 정적 콘텐츠 관리, 콘텐츠 압축, 가상 호스팅, 대용량 파일 지원, 대역폭 스로틀링 기능 등을 제공한다. 웹서버의 주된 기능은 웹페이지를 클라이언트에게 전달하는 것이다. 클라이언트와 서버와의 커뮤니케이션은 HTTP(Hypertext Transfer Protocol)을 사용하여 수행된다. 웹페이지는 대부분 HTML 문서 형태로 전달이 되며, HTML에는 각종 이미지들과 스타일 시트, 스크립트 등이 포함되어 있으며, 웹서버의 공통된 기능은 아래와 같다.

  • 가상 호스팅 : 하나의 IP주소를 사용하는 많은 웹사이트들을 지원
  • 대역폭 조절 : 네트워크의 포화상태를 방지하기 위한 응답 속도 제한
  • 서버측 스크립팅 : 웹서버 단에서 실행되는 동적 웹페이지 생선 언어 지원

종류[edit | edit source]

  • 아파치 웹 서버(Apache Web Server) : 리눅스 기반의 무료 오픈소스 웹서버 프로그램이다. 아파치재단에서 관리하고 있다.
  • 엔진엑스(Nginx) : 2004년 러시아의 이고르 시셰프(Игорь Сысоев, 영어: Igor Sysoev)가 개발한 무료 오픈소스 웹서버 프로그램이다. 2011년 엔진엑스 회사를 설립하여 유료 기술지원을 하고 있다.
  • IIS : Internet Information Services의 약자로서, 미국 마이크로소프트(Microsoft)사의 윈도우 시스템에서 사용하는 웹서버 프로그램이다.
  • 웹투비(WebtoB) : 한국의 ㈜티맥스소프트<--티맥스소프트, 티맥스 소프트-->가 개발한 웹서버 제품이다. 주로 와스(WAS) 제품인 제우스(JEUS)와 함께 사용된다.
  • 아이플래닛(iPlanet) : 미국 오라클 회사가 제공하는 웹서버 제품이다. 미국 썬 마이크로시스템즈가 개발했고, 썬원(SUN one)으로 불리기도 했다. 2010년 오라클에 인수되었다.
  • 웹티어(WebTier) : 미국 오라클 회사가 판매하는 웹서버 제품이다.
  • 구글 웹 서버(GWS) : Google Web Server의 약자로서, 미국 구글이 만든 웹서버이다.

WAS와의 차이[edit | edit source]

WAS는 Web Application Server의 줄인 말로, 주로 HTTP 프로토콜로 HTML을 보여주는 것 이상의 동적인 처리나 DB 연계, 기타 무거운 작업을 하기 위해 웹 서버와 구분해서 부르는 서버이자 프로그램이다. (물리적인 서버와 거기서 돌아가는 프로그램을 혼용해서 부르는 것은 웹 서버와 동일하다.)

웹 서버와 WAS을 구분하지 않고 모든 기능을 하나의 서버에서 구동시키는 경우도 있으나[1] 엔터프라이즈 서비스에선 대부분 성능의 효율적인 관리를 위해 Web - WAS - DB 형태로 구분하여 운영을 하는 경우가 많기 때문에 웹 서버와 기능적으로 구분된다.[2]

자세한 내용은 웹 애플리케이션 서버 문서를 참고할 수 있다.

참고 문헌[edit | edit source]

  • 해시넷 위키
  • 위키피디아
  • HostAdvice 웹서버 글로벌 점유율

각주[edit | edit source]

  1. 한 서버에서 APM을 설치하여 운영하는 경우, 설사 DB 서버는 구분되어 있더라도 php파일로 홈페이지를 만들어서 모든 로직을 구현하는 경우엔 웹 서버와 WAS의 구분이 없다고 봐야 한다. 미디어위키그누보드 등의 솔루션들은 모두 웹 서버와 WAS의 구분이 없는 체계로 운영된다. 웹 서버와 WAS를 명확히 구분하는 대표적인 프레임워크는 스프링 프레임워크이다.
  2. 최근엔 또 아주 큰 대규모 서비스가 아닌 이상 홈페이지 수준의 서비스는 웹과 WAS를 구분하지 않고 운영하는 것이 효율적이라고 생각하여 엔터프라이즈 서비스에서도 그렇게 운영하는 경우도 많다.