Вы находитесь на странице: 1из 5

Servidor web 1

Servidor web
Un servidor web o servidor HTTP es un programa que procesa cualquier aplicación del lado del servidor
realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente generando o
cediendo una respuesta en cualquier lenguaje o Aplicación del lado del cliente. El código recibido por el cliente suele
ser compilado y ejecutado por un navegador web. Para la transmisión de todos estos datos suele utilizarse algún
protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de
aplicación del modelo OSI. El término también se emplea para referirse al ordenador que ejecuta el programa.

Arquitectura

Petición GET
Un servidor web opera mediante el protocolo HTTP, de
la capa de aplicación del Modelo OSI. Al protocolo
HTTP se le asigna habitualmente el puerto TCP 80. Las
peticiones al servidor suelen realizarse mediante HTTP
utilizando el método de petición GET en el que el
recurso se solicita a través de la url al servidor web.
GET /index.html HTTP/1.1 HOST: www.host.com

Petición POST
Es el segundo tipo de petición HTTP más utilizado. Los
datos a enviar al servidor se incluyen en el cuerpo de la
misma petición con las cabeceras HTTP asignadas
correspondientemente respecto al tipo de petición.
Generalmente se asocia con los formularios web en el
que los datos suelen ser cifrados para enviarlos de
manera segura al servidor por lo que se incluye en la
petición la cabecera
application/x-www-form-urlencoded. Esta cabecera, en
los formularios HTML se envía automáticamente, pero Servidor web de la Wikimedia.

en otros lenguajes web como AJAX hay que


especificarlo:
setRequestHeader("Content-type:application/x-www-form-urlencode"); ajax.send(data);

Funcionamiento
El Servidor web se ejecuta en un ordenador manteniéndose a la espera de peticiones por parte de un cliente (un
navegador web) y que responde a estas peticiones adecuadamente, mediante una página web que se exhibirá en el
navegador o mostrando el respectivo mensaje si se detectó algún error. A modo de ejemplo, al teclear
www.wikipedia.org [1] en nuestro navegador, éste realiza una petición HTTP al servidor de dicha dirección. El
servidor responde al cliente enviando el código HTML de la página; el cliente, una vez recibido el código, lo
interpreta y lo exhibe en pantalla. Como vemos con este ejemplo, el cliente es el encargado de interpretar el código
HTML, es decir, de mostrar las fuentes, los colores y la disposición de los textos y objetos de la página; el servidor
tan sólo se limita a transferir el código de la página sin llevar a cabo ninguna interpretación de la misma.
Servidor web 2

Además de la transferencia de código HTML, los Servidores web pueden entregar aplicaciones web. Éstas son
porciones de código que se ejecutan cuando se realizan ciertas peticiones o respuestas HTTP. Hay que distinguir
entre:
• Aplicaciones en el lado del cliente: el cliente web es el encargado de ejecutarlas en la máquina del usuario. Son
las aplicaciones tipo Java "applets" o Javascript: el servidor proporciona el código de las aplicaciones al cliente y
éste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el cliente disponga de un navegador con
capacidad para ejecutar aplicaciones (también llamadas scripts). Comúnmente, los navegadores permiten ejecutar
aplicaciones escritas en lenguaje javascript y java, aunque pueden añadirse más lenguajes mediante el uso de
plugins.
• Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicación; ésta, una vez ejecutada, genera cierto
código HTML; el servidor toma este código recién creado y lo envía al cliente por medio del protocolo HTTP.
Las aplicaciones de servidor muchas veces suelen ser la mejor opción para realizar aplicaciones web. La razón es
que, al ejecutarse ésta en el servidor y no en la máquina del cliente, éste no necesita ninguna capacidad añadida,
como sí ocurre en el caso de querer ejecutar aplicaciones javascript o java. Así pues, cualquier cliente dotado de un
navegador web básico puede utilizar este tipo de aplicaciones.
El hecho de que HTTP y HTML estén íntimamente ligados no debe dar lugar a confundir ambos términos. HTML es
un lenguaje de marcas y HTTP es un "protocolo".

Aplicación del lado del Servidor


Una aplicación del lado del servidor es cualquier programa o conjunto de instrucciones diseñadas con la finalidad de
que un Servidor Web las procese para realizar alguna acción. Las aplicaciones del lado del servidor están escritas
mediante algún lenguaje de programación, entre los que destacan:

Lenguaje Fecha de primera versión estable Sistema operativo Última versión estable

PHP 1995 Multiplataforma 5.3.5

ASP 1998 Windows (Algunas versiones) 4.0

Perl 1987 Multiplataforma 5.12.3

Python 1991 Multiplataforma 3.2.0

Ruby 1995 Multiplataforma 1.9.2-p180

Perl CGI ?? Multiplataforma ??

El 75% de las aplicaciones del lado del servidor están escritas en PHP, siendo ASP y las demás opciones usadas de
forma alternativa y muy casual. [2]

Procesamiento del lado del servidor


Un servidor web tiene la función de procesar los scripts del lado del servidor para dar una salida en HTML y otros
lenguajes del lado del cliente al Navegador Web del cliente. La información a procesar podrá ser cedida por el
cliente al script mediante cualquier aplicación en el entorno del Navegador. Para ello pueden utilizarse formularios
web, enlaces con los valores implícitos en la cadena o cualquier otro método.

Procesamiento de PHP
1) Dado el siguiente código PHP.

if(!empty($_GET['ip']){
if($_GET['ip']=="yes"){
ip();
Servidor web 3

}}
function ip(){
if ($_SERVER['REMOTE_ADDR']=="192.168.0.1"){
echo "<b>Su dirección web es 192.168.0.1 </b>";
} else {
echo "<b>Su dirección web no es 192.168.0.1 sino
".$_SERVER['REMOTE_ADDR']."</b>";
}}

En el caso anterior, podría tomarse por supuesta la decisión del usuario utilizando un enlace cuyo destino sea el
archivo que contenga el Script anterior + la variable y el valor utilizando la siguiente sintaxis: archivo.php?var=val
donde var es el nombre de una variable dada y val es valor asignado a la variable.
2) En caso afirmativo el Script anterior genera el siguiente código html que es enviado posteriormente al navegador.

<b>Su dirección web es 192.168.0.1 </b>

3) El navegador interpreta el código html y lo muestra similar a :


Su dirección web es 192.168.0.1

Servidor Web Local


Instalar un servidor web en nuestro PC nos permitirá, entre otras cosas, poder montar nuestra propia página web sin
necesidad de contratar hosting, probar nuestros desarrollos vía local, acceder a los archivos de nuestro equipo desde
un PC remoto (aunque para esto existen otras opciones, como utilizar un servidor FTP) o utilizar alguno de los
programas basados en web tan interesantes que están viendo la luz últimamente. El problema de usar nuestro
ordenador como servidor web es que conviene tenerlo encendido permanentemente (para que esté accesible de forma
continua como la mayoría de los sitios webs), con el consiguiente coste debido al consumo de electricidad (conviene
tener en cuenta que hay alojamientos web gratuitos, incluso sin publicidad y con interesantes funciones).

Software
Algunos servidores web importantes son:
• Apache
• IIS
• Cherokee
• Tomcat
Otros servidores, más simples pero más rápidos, son:
• lighttpd
• thttpd
Servidor web 4

Véase también
• PHP
• ASP
• Perl
• Python/WSGI
• CGI
• .NET
• JSP (Tecnología Java )
• CF (Adobe Coldfusion)

Referencias
[1] http:/ / www. wikipedia. org
[2] « 1 (http:/ / w3techs. com/ technologies/ overview/ programming_language/ all)».

Enlaces externos
• World Wide Web Consortium (W3C) (http://www.w3c.es/)
Fuentes y contribuyentes del artículo 5

Fuentes y contribuyentes del artículo


Servidor web  Fuente: http://es.wikipedia.org/w/index.php?oldid=44740987  Contribuyentes: 142857, Adryitan, Airunp, Alhassam, Alhen, Alvaro qc, AugustoRoccasalva, Caos, Carlospeo,
Cesarth15, ColdWind, Comae, Ctrl Z, Dferg, Diegusjaimes, Djrolando, Dodo, Edub, Edupedro, Elmonstrito, Emijrp, Er Komandante, FAR, Gabriel Acquistapace, Gacq, GermanX, Hameryko,
ILoveSugar, Isha, JavierCantero, Jomra, Jorge c2010, Jose figueredo, Joseaperez, Jugones55, Limbo@MX, Luismcl, Mad neg, Matdrodes, Poc-oban, Queninosta, Qwertyytrewqqwerty,
Raulmingardi, Rodrigouf, Rsg, Saloca, Savh, SirSlither, Superzerocool, TArea, Tigerfenix, Tirithel, Tony Rotondas, Tuwebhost, Voise, 162 ediciones anónimas

Fuentes de imagen, Licencias y contribuyentes


Archivo:Wikimedia-Server.jpg  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Wikimedia-Server.jpg  Licencia: Creative Commons Attribution-Sharealike 2.5  Contribuyentes:
80686, Josemiguel93, Marton, Überraschungsbilder

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported
http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/