mirror of
https://github.com/apache/httpd.git
synced 2025-04-18 22:24:07 +03:00
Reviewed. build the html file git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1747368 13f79535-47bb-0310-9956-ffa450edef68
179 lines
6.5 KiB
JavaScript
179 lines
6.5 KiB
JavaScript
<?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: 1673945 -->
|
|
<!-- Translated by Luis Gil de Bernabé Pfeiffer lgilbernabe[AT]apache.org -->
|
|
<!-- Reviewed by Sergio Ramos-->
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You 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_imagemap</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>Handlers pueden ser usados de manera explicita,
|
|
basándose en la extensión del fichero o en
|
|
la ubicación en la que esté, se pueden especificar handlers
|
|
sin tener en cuenta el tipo de fichero 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 tanto ser compilados con el servidor
|
|
como incluidos en un módulo, o añadidos con la
|
|
directiva <directive module="mod_actions">Action</directive>. Los
|
|
handlers que vienen incluidos en el core 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_imagemap</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 del 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 cabeceras 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>
|
|
|
|
<highlight language="config">
|
|
<Directory "/web/htdocs/asis">
|
|
SetHandler send-as-is
|
|
</Directory>
|
|
</highlight>
|
|
|
|
</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>
|
|
|
|
<highlight language="c">
|
|
char *handler
|
|
</highlight>
|
|
|
|
<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>
|
|
|
|
|
|
|
|
|
|
|
|
|