PDF de programación - El servidor de web Apache: Introducción práctica - Apache 1.x y 2.0

Imágen de pdf El servidor de web Apache: Introducción práctica - Apache 1.x y 2.0

El servidor de web Apache: Introducción práctica - Apache 1.x y 2.0gráfica de visualizaciones

Actualizado el 11 de Abril del 2020 (Publicado el 12 de Abril del 2017)
525 visualizaciones desde el 12 de Abril del 2017
52,2 KB
20 paginas
Creado hace 18a (17/10/2001)
El servidor de web Apache:

Introducción práctica

Apache 1.x y 2.0 alpha

Alvaro del Castillo San Félix
Desarrollador y admin de software libre

Barrapunto

acs@barrapunto.com

http://barrapunto.com

El servidor de web Apache: Introducción práctica: Apache 1.x y 2.0 alpha
by Alvaro del Castillo San Félix

Copyright © 2000 by Alvaro del Castillo San Félix bajo FDL

Prólogo

Este artículo describe el servidor de web Apache, su instalación y su configuración, en la versión 1.3.x y 2.0. La
plataforma objetivo es GNU/Linux.

Table of Contents

1. El servidor de web Apache....................................................................................................................4
Introducción .......................................................................................................................................4
Características ....................................................................................................................................4
El protocolo HTTP.............................................................................................................................5
Obteniendo el servidor .......................................................................................................................8
Configuración del servidor...............................................................................................................10
El fichero de configuración httpd.conf .............................................................................................10
Documentación ................................................................................................................................13
Proyectos asociados .........................................................................................................................13
PHP.........................................................................................................................................14
Apache-SSL............................................................................................................................14
Conclusiones Apache .......................................................................................................................15
Apache 2.0 .......................................................................................................................................15
Referencias.......................................................................................................................................18
A. ..............................................................................................................................................................19

3

Chapter 1. El servidor de web Apache

Introducción

Lo primero de todo es decir que este artículo está basado en uno que escribí en Diciembre de 1997 y se
publicó en Linux Actual. Me ha sorprendido lo poco que he tenido que tocarlo para actualizarlo y como
Apache se ha consolido más aún de lo que estaba por aquellas fechas. Si el lector encuentra alguna errata
u información incorrecta puede estaré encantado de que me corrija.

He introducido un apartado dedicado a Apache 2.0 que sin duda será el más interesante para los lectores
que lean este artículo en la actualidad.

El servidor web Apache es uno de los mayores triunfos del software libre. En Diciembre de 1997 tenía
una cuota de mercado cercana al 45% y en la actualidad (Julio 2000) ya está por encima del 60%, según
los estudios de Netcraft [3] que ya se han establecido como la referencia dentro del mercado de
servidores web. Esta es la primera cifra que hace que cualquier responsable de la estrategia internet de
una empresa tenga que tomar a Apache como el servidor de referencia.

Apache era inicialmente unos parches al servidor que de WWW de NCSA conocido como httpd
(principios de 1995). Al igual que GNU/Linux, fue un proyecto que atrajo a mucha gente por el gran
interés de su objetivo: lograr el servidor web más rápido, más eficiente y con mayor funcionalidad desde
el enfoque del software libre. Y ha sido un objetivo que como veremos, se ha logrado. Sólo hacían sobras
en Apache ciertos aspectos de rendimiento, fundamentalmente por no utilizar hebras de ejecución. Este
aspecto se va a solucionar en el próximo Apache 2.0, un nuevo paso de Apache.

Con un enorme equipo de voluntarios a lo largo y ancho de toda la red, se han logrado estos objetivos,
logrando batir a compañías comerciales de la talla de Microsoft y Netscape. Y no sólo se ha logrado batir
a los servidores web de grandes compañías: se ha logrado atraer al todopoderoso IBM que está apoyando
Apache tanto a nivel de soporte como de desarrollo. La incorporación de empresas al desarrollo de
proyectos de software abierto es una característica que ha brotado en el año 2000. Otros ejemplos son
Corel, Dell etc.

Características

Apache es un servidor web flexible, rápido y eficiente, continuamente actualizado y adaptado a los

4

Chapter 1. El servidor de web Apache

nuevos protocolos (HTTP 1.1). Entre sus características destacan:

• Multiplataforma

• Es un servidor de web conforme al protocolo HTTP/1.1

• Modular: Puede ser adaptado a diferentes entornos y necesidades, con los diferentes módulos de apoyo
que proporciona, y con la API de programación de módulos, para el desarrollo de módulos específicos.

• Basado en hebras en la versión 2.0



Incentiva la realimentación de los usuarios, obteniendo nuevas ideas, informes de fallos y parches para
la solución de los mismos.

• Se desarrolla de forma abierta

• Extensible: gracias a ser modular se han desarrollado diversas extensiones entre las que destaca PHP,

un lenguaje de programación del lado del servidor.

El protocolo HTTP

El protocolo HTTP es el que da vida a Internet, y gracias al cual, los clientes y servidores se pueden
comunicar.

El lector, si tiene experiencia en el campo de protocolos, puede pensar que esta es la parte más compleja
del Web. Pues bien, este protocolo se diseño con la sencillez en mente, por lo que es de lo más trivial.

El funcionamiento básico es que el cliente estable una conexión TCP con el servidor, hace una petición,
el servidor le responde y se cierra la conexión. Para que se haga una idea el lector de la sencillez, en la
primera versión ampliamente utilizada del protocolo (1.0), el cliente solo podía invocar tres operaciones
en el servidor: GET para pedir una página, HEAD para pedir la cabecera de una página y POST para
enviar datos a una URL.

Siento un poco más estrictos, el funcionamiento del protocolo es:

• El cliente envía una petición al servidor. Dicha petición está compuesta por un método a invocar en el

servidor (URI) y una versión del protocolo, seguida por un mensaje compatible con MIME con los
parámetros de la petición, información del cliente, y un cuerpo opcional con más datos para el
servidor. Un ejemplo es:

GET /index.html HTTP/1.0
Accept: text/plain
Accept: text/html
Accept: */*

5

Chapter 1. El servidor de web Apache

User-Agent:

Un Agente de Usuario Cualquiera

• El servidor responde con una línea de estado, incluyendo la versión del protocolo del mensaje y si la

petición tuvo éxito o fracaso, con un código de resultado, seguido de un mensaje compatible con
MIME con información del servidor, metainformación (datos a cerca de la información) de la entidad
solicitada y un cuerpo opcional con la entidad solicitada. Un ejemplo es:

HTTP/1.0 200 OK
Server: MDMA/0.1
MIME-version: 1.0
Content-type: text/html
Last-Modified: Thu Jul 7 00:25:33 1994
Content-Length: 2003
title
hr
....
hr
h2
hr

Proyectos desarrollados en Internet h2

Página de web del IEEE de Madrid title

Pero como todo en el Web, este protocolo (versión 1.1) ya es mucho más potente que en su versión
original, y como luego veremos, en total hay ya trece métodos diferentes, además de un conjunto de
características nuevas como por ejemplo, el tiempo tras el cual el cliente debe volver a recargar la página.

Los creadores del HTTP 1.1 lo describen como: "un protocolo de nivel de aplicación orientado a
sistemas distribuidos, para la colaboración e hypermedia. Un protocolo genérico, sin estado, orientado
a objetos y que puede ser utilizado para muchas aplicaciones, como servidores de nombres y sistemas de
gestión de objetos distribuidos, a través de las extensiones de los métodos de petición. Una
característica de este protocolo es la negociación de los tipos y representación de los datos, permitiendo
que los sistemas no dependan del tipo de datos que se utilicen".

Los mismos creador de HTTP 1.0 son conscientes de las limitaciones de escalabilidad y rendimiento del
protocolo, por lo que recomiendan que ningún otro servidor lo utilice, y que se utilice de forma única el
HTTP 1.1

Los problemas principales que existen en la versión 1.0 son de rendimiento. Esto esta perfectamente
documento dentro de http://www.w3.org, y destacamos aquí las conclusiones principales a las que
llegaron, pero recomendamos al lector interesado en protocolos que consulte dicho documento:

• Las conexiones del protocolo TCP son lentas de establecer (conexión en tres pasos y ajuste de

ventanas de recepción de datos), y como por cada página y cada imagen que haya en la página, ha de
establecerse una conexión nueva, la transmisión de datos está ralentizada por el establecimiento de la
conexión TCP.

• Una conexión para transmitir 1Kbyte de datos tarda alrededor de 500 ms.

6








Chapter 1. El servidor de web Apache

• Tras cerrar una conexión TCP, el puerto del servidor utilizado en dicha conexión, se queda en estado

TIME_WAIT un tiempo recomendado de 240 segundos, por lo que un servidor que reciba muchas
peticiones puede agotar todos los puertos TCP (que recordemos son 65535) y dejar al servidor sin
posibilidad de enviar ningún tipo de dato. Esto supone un problema de escalabilidad muy importante.

Por lo tanto, a partir de este momento nos centraremos únicame
  • Links de descarga
http://lwp-l.com/pdf2771

Comentarios de: El servidor de web Apache: Introducción práctica - Apache 1.x y 2.0 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad