Fundamentos del Protocolo HTTP y Gestión de Configuración en Apache2
Clasificado en Informática
Escrito el en
español con un tamaño de 5,53 KB
Fundamentos del Servicio Web y Protocolo HTTP
Un Servicio Web se basa en el tratamiento de hipertexto e incluye diversos tipos de datos (documentos multimedia, hipertexto, otros datos).
El Protocolo HTTP (Hypertext Transfer Protocol) es un protocolo de capa de aplicación que proporciona un servicio de transferencia de documentos. Está basado en una arquitectura de cliente/servidor y, por defecto, escucha en el puerto 80.
Para acceder a los documentos publicados en la World Wide Web (WWW), es necesario proveer la URI (Uniform Resource Identifier) y la URL (Uniform Resource Locator).
Diálogo Cliente-Servidor: Petición y Respuesta
El diálogo entre el cliente y el servidor se realiza mediante un esquema de petición-respuesta.
Petición HTTP (Request)
El cliente realiza la petición (generalmente al puerto 80). La petición sigue un formato compuesto por líneas de texto:
- Línea de Petición: Incluye el método (ej. GET, HEAD, POST, PUT).
- Headers (Cabeceras): Permiten la descripción de opciones del cliente y preferencias del servidor.
- Línea en Blanco: Es crucial introducir esta línea en blanco para separar las cabeceras del cuerpo de la petición.
- Body (Cuerpo): Opcional, contiene los datos enviados al servidor.
Métodos de Petición HTTP
Los métodos de petición más comunes son:
- GET: Solicita una representación del recurso especificado.
- HEAD: Solicita una respuesta idéntica a la de GET, pero sin el cuerpo de la respuesta.
- POST: Envía datos para ser procesados a un recurso específico.
- PUT: Reemplaza todas las representaciones actuales del recurso de destino con la carga útil de la petición.
- DELETE: Elimina el recurso especificado.
- TRACE: Realiza un bucle de mensajes de prueba a lo largo de la ruta del recurso.
- OPTIONS: Describe las opciones de comunicación disponibles para el recurso de destino.
Respuesta HTTP (Response)
El servidor proporciona una respuesta al cliente con el siguiente formato:
- Línea de Estado: Indica el protocolo/versión, el número y el estado de la respuesta (código de estado).
- Headers (Cabeceras): Contiene todas las cabeceras que el servidor ha añadido.
- Línea en Blanco: Separador.
- Body (Cuerpo): Contiene la respuesta. Si se trata de una página web, contendrá el código HTML de la misma.
Configuración del Servidor Web Apache2
Componentes del Servidor Web
Un sistema web se compone de:
- Cliente Web: Generalmente, los navegadores.
- Servidor Web: Ej. Apache Server.
Ficheros Principales de Configuración en Apache2
Ubicados en /etc/apache2, los ficheros principales son:
apache2.conf: Fichero de configuración principal.httpd.conf: Usado históricamente, a menudo vacío o para configuraciones específicas.ports.conf: Define los puertos e IPs donde escucha el servidor.envvars: Define las variables de entorno.magic: Contiene información sobre distintos tipos MIME.
Directorios Clave en Apache2 (/etc/apache2)
Estos directorios gestionan la activación y desactivación de configuraciones y funcionalidades:
conf-available- Contiene ficheros de configuración específica por temática o global.
conf-enabled- Indica qué ficheros de
conf-availableestán siendo leídos (configuraciones activas). mods-available- Contiene los módulos posibles que extienden la funcionalidad básica del servidor.
mods-enabled- Referencia los módulos activos de
mods-available. sites-available- Configuración de los sitios web definidos para el servidor (Virtual Hosts).
sites-enabled- Sitios web activos de todos los que hay en
sites-available.
Comandos de Activación y Desactivación
Apache utiliza comandos específicos para gestionar la activación de configuraciones, módulos y sitios:
- Configuración (Conf):
- Activar:
a2enconf nombre_configuracion - Desactivar:
a2disconf nombre_configuracion
- Activar:
- Módulos (Mod):
- Activar:
a2enmod nombre_modulo - Desactivar:
a2dismod nombre_modulo
- Activar:
- Sitios (Site):
- Activar:
a2ensite nombre_sitio - Desactivar:
a2dissite nombre_sitio
- Activar:
Alcance de la Configuración
La configuración de Apache se reparte en tres niveles principales:
- GLOBAL
- SITIO WEB
- SERVIDORES VIRTUALES (Virtual Hosts)