{{위키데이터 속성 추적}}
[[파일:First Web Server.jpg|섬네일|세계 최초의 웹 서버]]
'''[[월드 와이드 웹|웹]] [[서버]]'''(Web server)는 다음의 두 가지 뜻 가운데 하나이다.
# 웹 서버: [[웹 브라우저]]와 같은 클라이언트로부터 [[HTTP]] 요청을 받아들이고, [[HTML]] 문서와 같은 웹 페이지를 반환하는 [[컴퓨터 프로그램]]
# 웹 서버 (하드웨어): 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 [[컴퓨터]]

'''웹 서버'''({{lang|en|web server}})는 [[HTTP]] 또는 [[HTTPS]]를 통해 [[웹 브라우저]]에서 요청하는 [HTML 문서나 [[오브젝트]]([[이미지 파일]] 등)을 [[전송 (컴퓨팅)|전송]]해주는 [[서비스형 소프트웨어|서비스 프로그램]]을 말한다. 웹 서버 소프트웨어를 구동하는 [[하드웨어]]도 웹 서버라고 해서 혼동하는 경우가 간혹 있다.

== 개요 ==
웹 서버의 주된 기능은 웹 페이지를 [[클라이언트]]로 전달하는 것이다. 주로 [[그림]], [[CSS]], [[자바스크립트]]를 포함한 [[HTML]] 문서가 [[클라이언트]]로 전달된다.

흔히 [[웹 브라우저]] 또는 [[웹 크롤러]]로 부르는 클라이언트는 [[HTTP]]를 통해 [[리소스]]를 요청하며 서버는 해당 리소스를 반환하거나 처리할 수 없을 경우 [[에러]] 메시지를 전달한다. 이러한 리소스는 일반적으로 서버의 [[기억 장치|보조 기억 장치]]에 있는 실제 파일을 가리키지만 반드시 그런 것은 아니며 웹 서버가 어떻게 수행하느냐에 따라 달라질 수 있다.

주된 기능은 [[콘텐츠]]를 제공하는 것이지만 클라이언트로부터 콘텐츠를 전달 받는 것도 웹 서버의 기능에 속한다. 이러한 기능은 파일 [[업로드]]를 포함하여 [[클라이언트]]에서 제출한 [[폼 (HTML)|웹 폼]]을 수신하기 위해 사용된다.

보통 대다수의 웹 서버는 Active Server Page([[ASP]]), [[PHP]] 등의 [[서버 사이드 스크립트 언어]](Server-side scripting)를 지원한다. 이는 서버 소프트웨어의 변경 없이도 웹 서버가 수행할 동작을 분리된 [[서버 사이드 스크립트 언어]]에 기술할 수 있다는 의미이다. 보통 [[서버 사이드 스크립트 언어]]를 통해 구현되는 기능이란 [[HTML]] 문서를 동적으로 생성하는 것을 말한다. 이렇게 동적으로 생성된 [[HTML]] 문서는 동적 컨텐트라 하는데 주로 [[데이터베이스]]의 정보를 조회해서 보여주거나 수정하기 위해 사용된다. 동적 컨텐트와 대비되는 개념으로 정적 컨텐트가 있는데 일반적으로 동적 컨텐트보다 더 빠르게 동작하고 쉽게 [[캐시]]될 수 있지만, 반환되는 컨텐트의 내용이 항상 동일하다.

웹 서버는 [[월드 와이드 웹]] 뿐만 아니라 [[프린터]], [[라우터]], [[웹캠]]과 같은 임베디드 장치, 그리고 [[근거리 통신망]](local network)에서도 사용된다. 시스템의 모니터링 또는 장치 관리를 위한 목적으로 사용되는데, 이렇게 웹 서버는 [[클라이언트]]에 다른 소프트웨어의 설치 없이 대부분의 [[운영체제]]에 포함된 [[웹 브라우저]]만으로 서비스를 제공할 수 있다는 장점이 있다.

== 공통 기능 ==
웹 서버 프로그램들이 세세한 부분에서 다를지라도, 대부분의 프로그램들은 몇 가지 '''기본 공통 기능'''을 갖고 있다.
# [[HTTP]]
# [[데이터 로그|통신 기록]]

그리고 기본 공통 기능에는 포함되지 않지만 대다수 웹 서버는 다음과 같은 기능도 제공한다.
# [[인증]]
# [[정적 웹 페이지|정적 콘텐츠]] 관리
# [[HTTPS]] 지원
# [[데이터 압축|콘텐츠 압축]]
# [[가상 호스팅]]
# [[대용량 파일 지원]]
# [[대역폭 스로틀링]]

== 시장 구조 ==
[[파일:Usage share of web servers (Source Netcraft).svg|섬네일|right|320px|주요 웹 서버의 시장 점유율]]
{{상세|분류:웹 서버 소프트웨어|HTTP 서버 프로그램}}

아래 시장 점유율 목록은 2013년 5월 [[넷크래프트]]에서 조사한 결과이다.<ref>[http://news.netcraft.com/archives/category/web-server-survey 2013년 5월 조사]</ref>

{| class="wikitable"
|-
! 제품 !! 제조업체 !! 웹 사이트 수 !! 백분율
|-
| [[아파치 HTTP 서버|아파치]] ||[[아파치 소프트웨어 재단|아파치]] ||359,441,468 ||53.42%
|-
| [[인터넷 정보 서비스|IIS]] ||[[마이크로소프트]] ||112,303,412 ||16.69%
|-
| [[nginx]] ||NGINX, Inc. ||104,411,087 ||15.52%
|-
| [[구글 웹 서버|GWS]] ||[[구글]] ||23,029,260 ||3.42%
|}



== 동작환경 ==
클라이언트인 웹 브라우저의 URL에서 나타내는 HTML 문서 및 각종 정보를 HTTP로 송신한다. 대부분 클라이언트의 웹 브라우저와의 사이에 다수의 커넥션을 연결하여 HTML문서 및 기타 파일(이미지 파일 등)을 병렬로 전송하여 처리시간을 단축하는 서비스를 제공한다.

또한, HTML 문서 처리를 위한 프로그램으로 CGI 스크립터나 자바 서블릿(Java Servlet) 등을 사용하여 웹 화면에 연동되는 동적 처리를 수행한다. CGI 처리를 위해 [[펄]](Perl), [[루비 (프로그래밍 언어)|루비]](Ruby), [[PHP]] 등의 스크립트 언어가 많이 개발된 상태이다.

자바 서블릿은 웹 프로그램을 동작하기 위해 작성된 자바 스펙으로 초기 CGI의 문제점인 대용량 처리의 문제점을 극복한 언어이다. 따라서, 대용량 처리를 필요로 하는 기업환경에서는 많이 사용되고 있다.

대규모 웹 시스템을 구성하는 경우, 같은 서비스를 제공하는 웹 서버를 병렬로 설치하고, 웹 서버의 앞쪽에 로드밸런스라는 분산처리하는 네트워크 장비(L4 스위치 등)를 통해 웹 서버에 처리를 분배하는 방식을 사용하고 있다.
이러한 방식을 통해 웹 시스템의 가용성과 신뢰성을 보장하고 있다.

== 제품 ==
* [[아파치 웹 서버]](Apache Web Server) : 오픈소스인 [[아파치 소프트웨어 재단]]의 제품
**아파치 웹 서버의 파생제품
*** IHS : IBM 제품
*** [[제우스 웹 서버|Zeus]] : 영국 Zeus사 제품
*** Oracle HTTP Server
*** Sun Java System Web Server
* CERN 웹 서버
* NCSA 웹 서버
* [[인터넷 정보 서비스]](IIS) : 미국 [[마이크로소프트]]사의 제품
* [[웹투비]](WebtoB) : 한국 [[티맥스소프트]]사의 제품
* 기타

[[넷크래프트]](Netcraft) [http://survey.netcraft.com/Reports/200709 설문조사] {{웨이백|url=http://survey.netcraft.com/Reports/200709 |date=20071111024144 }}에서 2007년 9월에 조사한 웹 서버 사용 분포는 다음과 같다.
{| class="wikitable"
|-
! 제작사!! 제품!! 사용 사이트 수
|- 
| [[아파치 소프트웨어 재단]]|| [[아파치 웹 서버]]|| 67,898,632
|-
| [[마이크로소프트]]|| [[인터넷 정보 서비스|IIS]] || 47,226,195
|-
| [[구글]]|| GWS || 6,616,713
|-
| [[썬 마이크로시스템즈]]|| [[Sun Java System Web Server]]|| 1,997,150
|-
| Oversee || Oversee || 1,601,209
|-
| lighttpd || [[lighttpd]] || 1,515,963
|-
| 기타 등등|| - || 8,296,292
|-
| '''총''' || - || '''135,152,154'''
|}

== 같이 보기 ==
{{위키공용분류}}
* [[가상 호스팅]]
* [[가상 디렉터리]]
* [[HTTP 압축]]
* [[프록시서버]]
* [[인터넷]]
* [[웹 브라우저]]
* [[웹 애플리케이션 서버]]
* [[콘텐츠 매니지먼트 시스템]](CMS)
* [[호스팅 서버]]
* [[FTP 서버]]
* [[도메인 네임 서버]]
* [[서버]]
* [[가상 호스트]]
* [[서버 사이트 인클루드]](SSI)
* [[TP모니터]]

== 각주 ==
{{각주}}

{{전거 통제}}

[[분류:서버]]
[[분류:웹 서버 소프트웨어| ]]
[[분류:웹 개발]]