📄 handler.xml.es
字号:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"><?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?><!-- English Revision: 151405 --><!-- Copyright 2004 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.--><manualpage metafile="handler.xml.meta"> <title>Uso de los Handlers en Apache</title> <summary> <p>Este documento describe el uso de los Handlers en Apache.</p> </summary> <section id="definition"> <title>驴Qué es un Handler?</title> <related> <modulelist> <module>mod_actions</module> <module>mod_asis</module> <module>mod_cgi</module> <module>mod_imap</module> <module>mod_info</module> <module>mod_mime</module> <module>mod_negotiation</module> <module>mod_status</module> </modulelist> <directivelist> <directive module="mod_actions">Action</directive> <directive module="mod_mime">AddHandler</directive> <directive module="mod_mime">RemoveHandler</directive> <directive module="core">SetHandler</directive> </directivelist> </related> <p>Un "handler" es una representación interna de Apache de una acción que se va a ejecutar cuando hay una llamada a un fichero. Generalmente, los ficheros tienen handlers implícitos, basados en el tipo de fichero de que se trata. Normalmente, todos los ficheros son simplemente servidos por el servidor, pero algunos tipos de ficheros se tratan de forma diferente.</p> <p>Apache 1.1 añade la posibilidad de usar handlers explicitamente. Basándose en la extension del fichero o en la ubicación en la que este, se pueden especificar handlers sin tener en cuenta el tipo de fichero de que se trate. Esto es una ventaja por dos razones. Primero, es una solución más elegante. Segundo, porque a un fichero se le pueden asignar tanto un tipo <strong>como</strong> un handler. (Consulte también la sección <a href="mod/mod_mime.html#multipleext">Ficheros y extensiones múltiples</a>.)</p> <p>Los Handlers pueden ser tanto ser compilados con el servidor como incluidos en un módulo, como añadidos con la directiva <directive module="mod_actions">Action</directive>. Los handlers compilados con el servidor de la distribución estándar de Apache son:</p> <ul> <li><strong>default-handler</strong>: Envía el fichero usando el <code>default_handler()</code>, que es el handler usado por defecto para tratar contenido estático. (core)</li> <li><strong>send-as-is</strong>: Envía el fichero con cabeceras HTTP tal y como es. (<module>mod_asis</module>)</li> <li><strong>cgi-script</strong>: Trata el fichero como un sript CGI. (<module>mod_cgi</module>)</li> <li><strong>imap-file</strong>: Trata el fichero como un mapa de imágenes. (<module>mod_imap</module>)</li> <li><strong>server-info</strong>: Extrae la información de configuración del servidor. (<module>mod_info</module>)</li> <li><strong>server-status</strong>: Extrae el informe de estado del servidor. (<module>mod_status</module>)</li> <li><strong>type-map</strong>: Trata el fichero como una correspondencia de tipos para la negociación de contenidos. (<module>mod_negotiation</module>)</li> </ul> </section> <section id="examples"> <title>Ejemplos</title> <section id="example1"> <title>Modificar contenido estático usando un script CGI</title> <p>Las siguientes directivas hacen que cuando haya una petición de ficheros con la extensión <code>html</code> se lance el script CGI <code>footer.pl</code>.</p> <example> Action add-footer /cgi-bin/footer.pl<br/> AddHandler add-footer .html </example> <p>En este caso, el script CGI es el responsable de enviar el documento originalmente solicitado (contenido en la variable de entorno <code>PATH_TRANSLATED</code>) y de hacer cualquier modificación o añadido deseado.</p> </section> <section id="example2"> <title>Archivos con cabaceras HTTP</title> <p>Las siguientes directivas activan el handler <code>send-as-is</code>, que se usa para ficheros que contienen sus propias cabeceras HTTP. Todos los archivos en el directorio <code>/web/htdocs/asis/</code> serán procesados por el handler <code>send-as-is</code>, sin tener en cuenta su extension.</p> <example> <Directory /web/htdocs/asis><br/> SetHandler send-as-is<br/> </Directory> </example> </section> </section> <section id="programmer"> <title>Nota para programadores</title> <p>Para implementar las funcionalidades de los handlers, se ha hecho un añadido a la <a href="developer/API.html">API de Apache</a> que puede que quiera usar. Para ser más específicos, se ha añadido un nuevo registro a la estructura <code>request_rec</code>:</p> <example> char *handler </example> <p>Si quiere que su módulo llame a un handler , solo tiene que añadir <code>r->handler</code> al nombre del handler en cualquier momento antes de la fase <code>invoke_handler</code> de la petición. Los handlers se implementan siempre como se hacía antes, aunque usando el nombre del handler en vez de un tipo de contenido. Aunque no es de obligado cumplimiento, la convención de nombres para los handlers es que se usen palabras separadas por guiones, sin barras, de manera que no se invada el media type name-space.</p> </section></manualpage>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -