home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / CMCD1104.ISO / Software / Complet / Apache / apache_2.0.52-win32-x86-no_ssl.msi / Data.Cab / F277682_handler.xml.es < prev    next >
Extensible Markup Language  |  2004-04-25  |  7KB  |  173 lines

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
  3. <?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
  4. <!-- English Revision: 1.3.2.6  -->
  5.  
  6. <!--
  7.  Copyright 2004 The Apache Software Foundation
  8.  
  9.  Licensed under the Apache License, Version 2.0 (the "License");
  10.  you may not use this file except in compliance with the License.
  11.  You may obtain a copy of the License at
  12.  
  13.      http://www.apache.org/licenses/LICENSE-2.0
  14.  
  15.  Unless required by applicable law or agreed to in writing, software
  16.  distributed under the License is distributed on an "AS IS" BASIS,
  17.  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  18.  See the License for the specific language governing permissions and
  19.  limitations under the License.
  20. -->
  21.  
  22. <manualpage metafile="handler.xml.meta">
  23.  
  24.   <title>Uso de los Handlers en Apache</title>
  25.  
  26.   <summary>
  27.     <p>Este documento describe el uso de los Handlers en Apache.</p>
  28.   </summary>
  29.  
  30.   <section id="definition">
  31.     <title>┬┐Qué es un Handler?</title>
  32.     <related>
  33.       <modulelist>
  34.         <module>mod_actions</module>
  35.         <module>mod_asis</module>
  36.         <module>mod_cgi</module>
  37.         <module>mod_imap</module>
  38.         <module>mod_info</module>
  39.         <module>mod_mime</module>
  40.         <module>mod_negotiation</module>
  41.         <module>mod_status</module>
  42.      </modulelist>
  43.       <directivelist>
  44.         <directive module="mod_actions">Action</directive>
  45.         <directive module="mod_mime">AddHandler</directive>
  46.         <directive module="mod_mime">RemoveHandler</directive>
  47.         <directive module="core">SetHandler</directive>
  48.       </directivelist>
  49.     </related>
  50.  
  51.  
  52.     <p>Un "handler" es una representación interna de Apache de
  53.     una acción que se va a ejecutar cuando hay una llamada a un
  54.     fichero. Generalmente, los ficheros tienen handlers
  55.     implícitos, basados en el tipo de fichero de que se
  56.     trata. Normalmente, todos los ficheros son simplemente servidos
  57.     por el servidor, pero algunos tipos de ficheros se tratan de forma
  58.     diferente.</p>
  59.  
  60.     <p>Apache 1.1 añade la posibilidad de usar handlers
  61.     explicitamente.  Basándose en la extension del fichero o en
  62.     la ubicación en la que este, se pueden especificar handlers
  63.     sin tener en cuenta el tipo de fichero de que se trate. Esto es
  64.     una ventaja por dos razones. Primero, es una solución
  65.     más elegante. Segundo, porque a un fichero se le pueden
  66.     asignar tanto un tipo <strong>como</strong> un handler. (Consulte
  67.     también la sección <a
  68.     href="mod/mod_mime.html#multipleext">Ficheros y extensiones
  69.     múltiples</a>.)</p>
  70.  
  71.     <p>Los Handlers pueden ser tanto ser compilados con el servidor
  72.     como incluidos en un módulo, como añadidos con la
  73.     directiva <directive module="mod_actions">Action</directive>. Los
  74.     handlers compilados con el servidor de la distribución
  75.     estándar de Apache son:</p>
  76.  
  77.     <ul>
  78.       <li><strong>default-handler</strong>: Envía el fichero
  79.       usando el <code>default_handler()</code>, que es el handler
  80.       usado por defecto para tratar contenido
  81.       estático. (core)</li>
  82.  
  83.       <li><strong>send-as-is</strong>: Envía el fichero con
  84.       cabeceras HTTP tal y como es. (<module>mod_asis</module>)</li>
  85.  
  86.       <li><strong>cgi-script</strong>: Trata el fichero como un sript
  87.       CGI. (<module>mod_cgi</module>)</li>
  88.  
  89.       <li><strong>imap-file</strong>: Trata el fichero como un mapa de
  90.       imágenes. (<module>mod_imap</module>)</li>
  91.  
  92.       <li><strong>server-info</strong>: Extrae la información de
  93.       configuración del
  94.       servidor. (<module>mod_info</module>)</li>
  95.  
  96.       <li><strong>server-status</strong>: Extrae el informe de estado
  97.       del servidor. (<module>mod_status</module>)</li>
  98.  
  99.       <li><strong>type-map</strong>: Trata el fichero como una
  100.       correspondencia de tipos para la negociación de contenidos.
  101.       (<module>mod_negotiation</module>)</li> </ul> </section>
  102.     
  103.     <section id="examples"> <title>Ejemplos</title>
  104.  
  105.     <section id="example1">
  106.       <title>Modificar contenido estático usando un script
  107.       CGI</title>
  108.  
  109.       <p>Las siguientes directivas hacen que cuando haya una
  110.       petición de ficheros con la extensión
  111.       <code>html</code> se lance el script CGI
  112.       <code>footer.pl</code>.</p>
  113.  
  114.       <example>
  115.         Action add-footer /cgi-bin/footer.pl<br/>
  116.         AddHandler add-footer .html
  117.       </example>
  118.  
  119.       <p>En este caso, el script CGI es el responsable de enviar el
  120.       documento originalmente solicitado (contenido en la variable de
  121.       entorno <code>PATH_TRANSLATED</code>) y de hacer cualquier
  122.       modificación o añadido deseado.</p>
  123.  
  124.     </section>
  125.     <section id="example2">
  126.       <title>Archivos con cabaceras HTTP</title>
  127.  
  128.       <p>Las siguientes directivas activan el handler
  129.       <code>send-as-is</code>, que se usa para ficheros que contienen
  130.       sus propias cabeceras HTTP. Todos los archivos en el directorio
  131.       <code>/web/htdocs/asis/</code> serán procesados por el
  132.       handler <code>send-as-is</code>, sin tener en cuenta su
  133.       extension.</p>
  134.  
  135.       <example>
  136.         <Directory /web/htdocs/asis><br/>
  137.         SetHandler send-as-is<br/>
  138.         </Directory>
  139.       </example>
  140.  
  141.     </section>
  142.   </section>
  143.   <section id="programmer">
  144.     <title>Nota para programadores</title>
  145.  
  146.     <p>Para implementar las funcionalidades de los handlers, se ha
  147.     hecho un añadido a la <a href="developer/API.html">API de
  148.     Apache</a> que puede que quiera usar. Para ser más
  149.     específicos, se ha añadido un nuevo registro a la
  150.     estructura <code>request_rec</code>:</p>
  151.  
  152.     <example>
  153.       char *handler
  154.     </example>
  155.  
  156.     <p>Si quiere que su módulo llame a un handler , solo tiene
  157.     que añadir <code>r->handler</code> al nombre del handler
  158.     en cualquier momento antes de la fase <code>invoke_handler</code>
  159.     de la petición. Los handlers se implementan siempre como se
  160.     hacía antes, aunque usando el nombre del handler en vez de un
  161.     tipo de contenido. Aunque no es de obligado cumplimiento, la
  162.     convención de nombres para los handlers es que se usen
  163.     palabras separadas por guiones, sin barras, de manera que no se
  164.     invada el media type name-space.</p>
  165.   </section>
  166. </manualpage>
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.