Tabla de contenidos de la Guía de desarrollo del módulo Apache
Capítulo 1 Uso de Apache para el desarrollo de aplicaciones
1.1 Una breve historia del servidor web Apache
1.1.1Apache1
1.1.2Apache2
p>
1.2Apache Software Foundation
1.2.1 Meritocracia (Meritocracia)
1.2.2 Roles
1.2.3 Filosofía
1.3Proceso de desarrollo de Apache
1.3.1Repositorio de código de Apache
1.3.2 Foro de desarrolladores
1.3.3 Desarrolladores
1.3.4 Participar en el trabajo de Apache
1.4Apache y la propiedad intelectual
1.4.1Licencia de Apache
1.4.2 Propiedad intelectual de terceros
p>1.5 Lecturas adicionales
1.5.1 Foro interactivo en línea
1.5.2 Conferencia
1.5.3 Sitio web
1.6 Resumen
Capítulo 2 Plataforma y arquitectura Apache
2.1 Descripción general
2.2 Dos etapas del funcionamiento de Apache
2.2. Fase de inicio
2.2.2 Fase de ejecución
2.2.3 Fase de parada
2.3 Módulo multiprocesamiento MPM
2.3.1 Por qué Requiere MPM
2.3.2 Módulo MPM tipo UNIX
2.3.3Módulo MPM y sistema operativo
2.4 Conceptos básicos y estructuras de datos
2.4.1request_rec
2.4.2server_rec
2.4.3conn_rec
2.4.4process_rec
2.5 Otros componentes clave de API
2.6 Conceptos básicos de configuración de Apache
2.7 Procesamiento de solicitudes de Apache
2.7.1 Generación de contenido
2.7.2 Etapa de procesamiento de solicitudes
2.7.3 Ganchos de procesamiento
2.7.4 Eje de datos y filtro
2.7.5 Secuencia de procesamiento
2.7.6 Ganchos de procesamiento
2.8 Resumen
Capítulo 3 Biblioteca de tiempo de ejecución portátil de Apache
3.1APR
3.2 Biblioteca práctica de APR
3.3 Convenciones básicas
3.3.1 Manual de referencia: Documentación API y Doxygen
3.3.2 Espacio de nombres
3.3.3 Macros declaradas
3.3.4 apr_status_t y valor de retorno
3.3.5 Compilación condicional
3.4 Gestión de recursos: grupo APR
3.4.1 Problemas de gestión de recursos
3.4.2 Grupo APR p>
3.4.3 Ciclo de vida de los recursos
3.4.4 Limitaciones del grupo
3.5 Temas APR seleccionados
p>3.5.1 Cadenas y formatos
3.5.2 Internacionalización
3.5.3 Hora y fecha
3.5.4 Estructura de datos
3.5.5Cubo y Brigada p>
3.5.6 Sistema de archivos
3.5.7 Red
3.5.8 Codificación y contraseña
3.5.9Procesamiento de URI
3.5.10 Procesos y subprocesos
3.5.11 Grupos de recursos
3.5.12 Extensiones API
3.6 Base de datos en APR/Apache
3.6.1Módulo DMB y apr_dbm
3.6.2Base de datos SQL y apr_dbd
3.7 Resumen
Capítulo 4 Consejos y sugerencias de programación
4.1 apac
Las convenciones de programación
4.1.1 Líneas de código
4.1.2 Funciones
4.1.3 Bloques de código
4.1.4 Flujo Control
4.1.5 Declaración
4.1.6 Comentarios
4.2 Datos del módulo de gestión
4.2.1 Vector de configuración
4.2.2 Dominio del ciclo de vida
4.3 Comunicación entre módulos
4.4 Problemas de programación segura para subprocesos
4.5 Gestión de datos persistentes
4.5.1 Seguridad de subprocesos
4.5.2 Gestión de memoria/recursos
4.6 Problemas de programación multiplataforma
4.6.1 Ejemplo: creación de un archivo temporal
4.7 Problemas de programación entre MPM
4.7.1 Bloqueos globales y de proceso
4.7.2 Uso compartido de memoria
4.8 Problemas de programación de seguridad
4.8.1 Principio de precaución: no confiar en nada
4.8.2 Ataque de denegación de servicio: limitar el daño
4.8.3 Utilice el sistema operativo para ayudar tú
4.9 Dependencias y bibliotecas externas
4.9.1 Bibliotecas de terceros
4.9.2 Mejores prácticas para bibliotecas
4.9. 3 Construyendo módulos usando bibliotecas
4.10 Escribiendo y compilando módulos en otros idiomas
4.11 Resumen
Capítulo 5 Desarrollando generadores de contenido
5.1HelloWorld módulo
5.1.1 Arquitectura del módulo
5.1.2 Valor de retorno
5.1.3 Campos del procesador
5.1.4 Módulo completo
5.1.5 Uso del objeto request_rec
5.2 Solicitud, respuesta y entorno
5.2.1 Módulo de E/S
5.2.2 Lectura datos del formulario
5.3 Procesador predeterminado
5.4 Resumen
Capítulo 6 Ciclo de procesamiento de solicitudes y procesador de metadatos
6.1Protocolo de transferencia de hipertexto HTTP p>
6.1.1Protocolo HTTP
6.1.2 Deconstrucción de solicitudes HTTP
6.2Procesamiento de solicitudes de Apache
6.2.1 Asignación al sistema de archivos
6.2.2 Negociación de contenidos
6.2.3 Seguridad
6.2.4 Caché de operaciones
6.2.5 Metadatos privados
6.2.6 Registro
6.3 Solicitud de transferencia: redireccionamiento interno
6.3.1 Documentación de errores
6.3.2 Manejo de solicitudes con formato incorrecto y solicitudes maliciosas
6.4 Recopilación de información: subsolicitudes
6.4.1 Ejemplo
6.5 Módulo de desarrollo
6.5.1 Seleccionar diferentes variables en el documento
6.5.2 Manejo de errores y reutilización
6.6 Resumen
Capítulo 7 AAA: Acceso, Autenticación y Autorización
7.1 Seguridad
7.1.1 Autenticación: niveles de seguridad
7.1.2 Inicio de sesión en la Web
Descripción general de 7.2AAA
7.3 AAA en Apache1.x y 2.0
7.4 AAA en Apache2.1/2.2
7.4.1 se basa en el control de acceso al Host
7.4.2 Autenticación: check_user_id
7.4.3 Búsqueda de contraseña (passwordlookup)
7.4.4 Autorización
7.5Lógica AAA
7.5.1 Directiva de autenticación y requisito
7.5.2 Acceso denegado
7.5.3 Método de autenticación
7.6 Escritura del módulo AAA
7.6.1 Un proveedor de autenticación básico
7.6.2 Una función de autorización
7.6.3 Configuración
7.6.4 Proveedores de autenticación básica y autenticación implícita
Proveedor de certificados
7.7 Implementación de un mecanismo de inicio de sesión personalizado
7.7.1 Uso de SQL para la gestión de sesiones
7.7.2 Cuando no hay un cuadro de diálogo de autenticación del navegador Realizar autenticación
7.8 Resumen
Capítulo 8 Módulo de filtrado
Capítulo 9 Configuración del módulo
Capítulo 10 API extendida
Capítulo 11 Marco de base de datos Apache
Capítulo 12 Depuración del módulo
Apéndice AA Licencia Apache
Apéndice B Acuerdo de licencia de colaborador
Apéndice C Protocolo de transferencia de hipertexto : HTTP/1.1
Agradecimientos
Índice
……