]> granicus.if.org Git - apache/blob - docs/manual/handler.xml.es
refer to the recent changes, I hope that's it.
[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: 105989 -->
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&#233; 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&#243;n interna de Apache de
53     una acci&#243;n que se va a ejecutar cuando hay una llamada a un
54     fichero. Generalmente, los ficheros tienen handlers
55     impl&#237;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&#241;ade la posibilidad de usar handlers
61     explicitamente.  Bas&#225;ndose en la extension del fichero o en
62     la ubicaci&#243;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&#243;n
65     m&#225;s elegante. Segundo, porque a un fichero se le pueden
66     asignar tanto un tipo <strong>como</strong> un handler. (Consulte
67     tambi&#233;n la secci&#243;n <a
68     href="mod/mod_mime.html#multipleext">Ficheros y extensiones
69     m&#250;ltiples</a>.)</p>
70
71     <p>Los Handlers pueden ser tanto ser compilados con el servidor
72     como incluidos en un m&#243;dulo, como a&#241;adidos con la
73     directiva <directive module="mod_actions">Action</directive>. Los
74     handlers compilados con el servidor de la distribuci&#243;n
75     est&#225;ndar de Apache son:</p>
76
77     <ul>
78       <li><strong>default-handler</strong>: Env&#237;a el fichero
79       usando el <code>default_handler()</code>, que es el handler
80       usado por defecto para tratar contenido
81       est&#225;tico. (core)</li>
82
83       <li><strong>send-as-is</strong>: Env&#237;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&#225;genes. (<module>mod_imap</module>)</li>
91
92       <li><strong>server-info</strong>: Extrae la informaci&#243;n de
93       configuraci&#243;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&#243;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&#225;tico usando un script
107       CGI</title>
108
109       <p>Las siguientes directivas hacen que cuando haya una
110       petici&#243;n de ficheros con la extensi&#243;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&#243;n o a&#241;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&#225;n procesados por el
132       handler <code>send-as-is</code>, sin tener en cuenta su
133       extension.</p>
134
135       <example>
136         &lt;Directory /web/htdocs/asis&gt;<br/>
137         SetHandler send-as-is<br/>
138         &lt;/Directory&gt;
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&#241;adido a la <a href="developer/API.html">API de
148     Apache</a> que puede que quiera usar. Para ser m&#225;s
149     espec&#237;ficos, se ha a&#241;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&#243;dulo llame a un handler , solo tiene
157     que a&#241;adir <code>r-&gt;handler</code> al nombre del handler
158     en cualquier momento antes de la fase <code>invoke_handler</code>
159     de la petici&#243;n. Los handlers se implementan siempre como se
160     hac&#237;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&#243;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