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