# Servidor web

El terme servidor web pot tenir un d'aquests dos sentits:
* Un ordinador que accepta requeriments HTTP de clients, normalment coneguts com a navegadors web, i de servir-los pàgines web, que normalment són documents HTML.
* Un programa que proveeix la funcionalitat descrita en el primer sentit d'aquest terme.

## Funcionalitat comuna

Encara que els diversos programes servidors web difereixen en els detalls, tots comparteixen unes funcionalitats bàsiques.
Tots els servidors web accepten requeriments HTTP des de la xarxa, i proveeixen respostes HTTP al client que ha fet el requeriment. Aquestes respostes típicament consisteixen d'un document HTML, però també poden ser simples fitxers de text, o altres tipus de documents.
Normalment els servidors web també poden enregistrar informació sobre la seva utilització en un fitxer de bitàcora, també conegut com a fitxer de registre, això permet al webmestre recol·lectar estadístiques fent servir programes analitzadors d'aquest tipus de fitxers.

## Origen del contingut retornat

L'origen del contingut enviat pel servidor s'anomena estàtic si prové d'un fitxer informàtic ja existent o dinàmic si ha estat generat per altres programes o per guions executats pel servidor web.
Servir contingut estàtic és normalment molt més ràpid que servir contingut dinàmic.

## Traducció de camins

Els servidors web normalment tradueixen la part del camí d'un URL al sistema de fitxers local. El camí de l'URL especificat pel client és relatiu al directori arrel del servidor web.
Considerant el següent URL de la manera que seria requerit per un client:
El navegador web d'aquest client traduirà això com una connexió a www.exemple.cat amb el següent requeriment HTTP 1.1:
El servidor web de www.exemple.cat afegirà el camí donat al camí del seu directori arrel. Per exemple, en sistemes Unix, aquest directori arrel és normalment /var/www/htdocs. El resultat és el fitxer del sistema de fitxers local:
Llavors el servidor web llegirà aquest fitxer, si és que existeix, i enviarà una resposta al navegador web del client. Aquesta resposta descriurà el contingut del fitxer i contindrà el fitxer mateix.

## Límits de càrrega

Cada servidor web pot mantenir un nombre limitat de connexions de clients a la vegada (normalment entre 2 i 60.000) i pot servir només un nombre màxim de requeriments per segon depenent de la seva configuració, el tipus de requeriment HTTP, i els límits del maquinari i del sistema operatiu on s'està executant.
Per superar aquests límits, els llocs web més populars fan servir tècniques com:
* fer servir diferents URLs per servir
per servidors web diferents;
* fer servir molts servidors web agrupats per actuar com un de sol, fent el que s'anomena balanç de càrrega.
Els símptomes d'un servidor web sobrecarregat són:
* els requeriments se serveixen amb (llargs) retards (entre 1 segon a uns quants centenars de segons);
* es retornen al client errors HTTP 500, 503 (i a vegades també errors 404 sense sentit)
* el refús de connexions TCP, o el reinici d'aquestes abans que cap contingut s'envii als clients.

## Nota històrica

El 1989 Tim Berners-Lee va proposar un nou projecte al CERN (European center for nuclear research), el lloc on treballava. L'objectiu del projecte era fer més fàcil l'intercanvi d'informació entre els científics fent servir un sistema d'hipertext. Com a resultat de la implementació d'aquest projecte, Berners-Lee va escriure dos programes: un navegador anomenat WorldWideWeb i el primer servidor web, que s'executava en NeXTSTEP. Avui en dia aquesta màquina s'exhibeix al museu públic del CERN, Microcosm Arxivat 2007-07-12 a Wayback Machine..

## Programari

Els quatre servidors web o servidors HTTP més comuns són:
* Servidor HTTP Apache de l'Apache Software Foundation.
* Internet Information Services (IIS) de Microsoft.
* Sun Java System Web Server de Sun Microsystems, prèviament anomenat Sun ONE Web Server, iPlanet Web Server, i Netscape Enterprise Server.
* Zeus Web Server de Zeus Technology.
Existeixen milers de programes servidors web, la majoria d'aquests especialitzats per a usos concrets i per satisfer necessitats específiques.

## Estadístiques

Els servidors web més populars, són seguits per l'enquesta Netcraft Web Server Survey.
El projecte de servidor HTTP Apache és un esforç per desenvolupar i mantenir un servidor de codi obert per a sistemes operatius moderns, incloent UNIX i similars i Windows NT. L'objectiu d'aquest projecte és proveir un servidor segur, eficient i extensible que proveeixi serveis HTTP en concordança amb els estàndards HTTP.
Apache ha sigut el servidor web més popular d'Internet des de l'abril de 1996. En febrer del 2006 l'enquesta de Netcraft va trobar que el 68,01% dels llocs web d'Internet feien servir Apache, essent així més utilitzat que tota la resta de servidors sumats. El servidor Apache és un projecte de l'Apache Software Foundation.

## Vegeu també

* WWW
* HTTP, HTTPS
* PHP, ASP, CGI
* Navegador web
* Allotjament virtual
* Programari LAMP
* Cherokee
* Servidor d'escacs per correspondència
* Canonització (informàtica)

## Enllaços externs

* RFC 2616, el document que defineix el protocol HTTP 1.1

## Referències

* ↑ Netcraft Web Server Survey Arxivat 2010-05-20 a Wayback Machine.(anglès), amb detalls donats a Netcraft Web Server Reports Arxivat 2006-01-25 a Wayback Machine.(anglès)
* ↑ Un altre lloc web que proveeix aquestes estadístiques és SecuritySpace
* ↑ també proveeixen detalls d'ús per a cada versió dels servidors web