41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<?xml-stylesheet type="text/xsl" href="/style/manual.es.xsl"?>
a99c5d4cc3cab6a62b04d52000dbc22ce1fa2d94coar<!-- English Revision: 151408:1673945 (outdated) -->
031b91a62d25106ae69d4693475c79618dd5e884fielding Licensed to the Apache Software Foundation (ASF) under one or more
031b91a62d25106ae69d4693475c79618dd5e884fielding contributor license agreements. See the NOTICE file distributed with
031b91a62d25106ae69d4693475c79618dd5e884fielding this work for additional information regarding copyright ownership.
031b91a62d25106ae69d4693475c79618dd5e884fielding The ASF licenses this file to You under the Apache License, Version 2.0
031b91a62d25106ae69d4693475c79618dd5e884fielding (the "License"); you may not use this file except in compliance with
031b91a62d25106ae69d4693475c79618dd5e884fielding the License. You may obtain a copy of the License at
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd Unless required by applicable law or agreed to in writing, software
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd distributed under the License is distributed on an "AS IS" BASIS,
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd See the License for the specific language governing permissions and
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd limitations under the License.
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Este documento describe el uso de los Handlers en Apache.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </summary>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <modulelist>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </modulelist>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <directivelist>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </directivelist>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </related>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Un "handler" es una representación interna de Apache de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd una acción que se va a ejecutar cuando hay una llamada a un
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd fichero. Generalmente, los ficheros tienen handlers
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd implícitos, basados en el tipo de fichero de que se
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd trata. Normalmente, todos los ficheros son simplemente servidos
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd por el servidor, pero algunos tipos de ficheros se tratan de forma
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd diferente.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Apache 1.1 añade la posibilidad de usar handlers
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd explicitamente. Basándose en la extension del fichero o en
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd la ubicación en la que este, se pueden especificar handlers
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd sin tener en cuenta el tipo de fichero de que se trate. Esto es
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd una ventaja por dos razones. Primero, es una solución
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd más elegante. Segundo, porque a un fichero se le pueden
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd asignar tanto un tipo <strong>como</strong> un handler. (Consulte
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd también la sección <a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd href="mod/mod_mime.html#multipleext">Ficheros y extensiones
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Los Handlers pueden ser tanto ser compilados con el servidor
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd como incluidos en un módulo, como añadidos con la
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd directiva <directive module="mod_actions">Action</directive>. Los
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd handlers compilados con el servidor de la distribución
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd estándar de Apache son:</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <li><strong>default-handler</strong>: Envía el fichero
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd usando el <code>default_handler()</code>, que es el handler
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd usado por defecto para tratar contenido
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd estático. (core)</li>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <li><strong>send-as-is</strong>: Envía el fichero con
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd cabeceras HTTP tal y como es. (<module>mod_asis</module>)</li>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <li><strong>cgi-script</strong>: Trata el fichero como un sript
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <li><strong>imap-file</strong>: Trata el fichero como un mapa de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <li><strong>server-info</strong>: Extrae la información de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd configuración del
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <li><strong>server-status</strong>: Extrae el informe de estado
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd correspondencia de tipos para la negociación de contenidos.
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <title>Modificar contenido estático usando un script
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd CGI</title>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Las siguientes directivas hacen que cuando haya una
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd petición de ficheros con la extensión
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd AddHandler add-footer .html
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </example>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>En este caso, el script CGI es el responsable de enviar el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd documento originalmente solicitado (contenido en la variable de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd entorno <code>PATH_TRANSLATED</code>) y de hacer cualquier
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd modificación o añadido deseado.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </section>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Las siguientes directivas activan el handler
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <code>send-as-is</code>, que se usa para ficheros que contienen
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd sus propias cabeceras HTTP. Todos los archivos en el directorio
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <code>/web/htdocs/asis/</code> serán procesados por el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd extension.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd SetHandler send-as-is<br/>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </Directory>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </example>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </section>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </section>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Para implementar las funcionalidades de los handlers, se ha
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd hecho un añadido a la <a href="developer/API.html">API de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd Apache</a> que puede que quiera usar. Para ser más
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd específicos, se ha añadido un nuevo registro a la
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd char *handler
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </example>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Si quiere que su módulo llame a un handler , solo tiene
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd que añadir <code>r->handler</code> al nombre del handler
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd en cualquier momento antes de la fase <code>invoke_handler</code>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd de la petición. Los handlers se implementan siempre como se
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd hacía antes, aunque usando el nombre del handler en vez de un
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd tipo de contenido. Aunque no es de obligado cumplimiento, la
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd convención de nombres para los handlers es que se usen
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd palabras separadas por guiones, sin barras, de manera que no se
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd invada el media type name-space.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd </section>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</manualpage>