]> granicus.if.org Git - apache/blob - docs/manual/handler.html.es
svn:eol-style = native
[apache] / docs / manual / handler.html.es
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>Uso de los Handlers en Apache - Servidor HTTP Apache Versión 2.5</title>
11 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
14 <script src="./style/scripts/prettify.min.js" type="text/javascript">
15 </script>
16
17 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
18 <body id="manual-page"><div id="page-header">
19 <p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/quickreference.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa del sitio web</a></p>
20 <p class="apache">Versión 2.5 del Servidor HTTP Apache</p>
21 <img alt="" src="./images/feather.png" /></div>
22 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
23 <div id="path">
24 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Servidor HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentación</a> &gt; <a href="./">Versión 2.5</a></div><div id="page-content"><div id="preamble"><h1>Uso de los Handlers en Apache</h1>
25 <div class="toplang">
26 <p><span>Idiomas disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
27 <a href="./es/handler.html" title="Español">&nbsp;es&nbsp;</a> |
28 <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
29 <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
30 <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
31 <a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
32 <a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
33 </div>
34
35     <p>Este documento describe el uso de los Handlers en Apache.</p>
36   </div>
37 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#definition">¿Qué es un Handler?</a></li>
38 <li><img alt="" src="./images/down.gif" /> <a href="#examples">Ejemplos</a></li>
39 <li><img alt="" src="./images/down.gif" /> <a href="#programmer">Nota para programadores</a></li>
40 </ul><h3>Consulte también</h3><ul class="seealso"><li><a href="#comments_section">Comentarios</a></li></ul></div>
41 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
42 <div class="section">
43 <h2><a name="definition" id="definition">¿Qué es un Handler?</a></h2>
44     
45     <table class="related"><tr><th>Módulos Relacionados</th><th>Directivas Relacionadas</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></li><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removehandler">RemoveHandler</a></code></li><li><code class="directive"><a href="./mod/core.html#sethandler">SetHandler</a></code></li></ul></td></tr></table>
46
47
48     <p>Un "handler" es una representación interna de Apache de
49     una acción que se va a ejecutar cuando hay una llamada a un
50     fichero. Generalmente, los ficheros tienen handlers
51     implícitos, basados en el tipo de fichero de que se
52     trata. Normalmente, todos los ficheros son simplemente servidos
53     por el servidor, pero algunos tipos de ficheros se tratan de forma
54     diferente.</p>
55
56     <p>Handlers pueden ser usados de manera explicita,
57      basándose en la extensión del fichero o en
58     la ubicación en la que esté, se pueden especificar handlers
59     sin tener en cuenta el tipo de fichero que se trate. Esto es
60     una ventaja por dos razones. Primero, es una solución
61     más elegante. Segundo, porque a un fichero se le pueden
62     asignar tanto un tipo <strong>como</strong> un handler. (Consulte
63     también la sección <a href="mod/mod_mime.html#multipleext">Ficheros y extensiones
64     múltiples</a>.)</p>
65
66     <p>Los Handlers pueden tanto ser compilados con el servidor
67     como incluidos en un módulo, o añadidos con la
68     directiva <code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code>. Los
69     handlers que vienen incluidos en el core con el servidor de la distribución
70     estándar de Apache son:</p>
71
72     <ul>
73       <li><strong>default-handler</strong>: Envía el fichero
74       usando el <code>default_handler()</code>, que es el handler
75       usado por defecto para tratar contenido
76       estático. (core)</li>
77
78       <li><strong>send-as-is</strong>: Envía el fichero con
79       cabeceras HTTP tal y como es. (<code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code>)</li>
80
81       <li><strong>cgi-script</strong>: Trata el fichero como un sript
82       CGI. (<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code>)</li>
83
84       <li><strong>imap-file</strong>: Trata el fichero como un mapa de
85       imágenes. (<code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code>)</li>
86
87       <li><strong>server-info</strong>: Extrae la información de
88       configuración del
89       servidor. (<code class="module"><a href="./mod/mod_info.html">mod_info</a></code>)</li>
90
91       <li><strong>server-status</strong>: Extrae el informe del estado
92       del servidor. (<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>)</li>
93
94       <li><strong>type-map</strong>: Trata el fichero como una
95       correspondencia de tipos para la negociación de contenidos.
96       (<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>)</li> 
97     </ul> 
98   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
99 <div class="section">
100 <h2><a name="examples" id="examples">Ejemplos</a></h2> 
101       
102
103       <h3><a name="example1" id="example1">Modificar contenido estático usando un script
104       CGI</a></h3>
105       
106
107       <p>Las siguientes directivas hacen que cuando haya una
108       petición de ficheros con la extensión
109       <code>html</code> se lance el script CGI
110       <code>footer.pl</code>.</p>
111
112       <div class="example"><p><code>
113         Action add-footer /cgi-bin/footer.pl<br />
114         AddHandler add-footer .html
115       </code></p></div>
116
117       <p>En este caso, el script CGI es el responsable de enviar el
118       documento originalmente solicitado (contenido en la variable de
119       entorno <code>PATH_TRANSLATED</code>) y de hacer cualquier
120       modificación o añadido deseado.</p>
121
122     
123     <h3><a name="example2" id="example2">Archivos con cabeceras HTTP</a></h3>
124       
125
126       <p>Las siguientes directivas activan el handler
127       <code>send-as-is</code>, que se usa para ficheros que contienen
128       sus propias cabeceras HTTP. Todos los archivos en el directorio
129       <code>/web/htdocs/asis/</code> serán procesados por el
130       handler <code>send-as-is</code>, sin tener en cuenta su
131       extension.</p>
132
133       <pre class="prettyprint lang-config">&lt;Directory "/web/htdocs/asis"&gt;
134     SetHandler send-as-is
135 &lt;/Directory&gt;</pre>
136
137
138     
139   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
140 <div class="section">
141 <h2><a name="programmer" id="programmer">Nota para programadores</a></h2>
142     
143
144     <p>Para implementar las funcionalidades de los handlers, se ha
145     hecho un añadido a la <a href="developer/API.html">API de
146     Apache</a> que puede que quiera usar. Para ser más
147     específicos, se ha añadido un nuevo registro a la
148     estructura <code>request_rec</code>:</p>
149
150     <pre class="prettyprint lang-c">char *handler</pre>
151
152
153     <p>Si quiere que su módulo llame a un handler , solo tiene
154     que añadir <code>r-&gt;handler</code> al nombre del handler
155     en cualquier momento antes de la fase <code>invoke_handler</code>
156     de la petición. Los handlers se implementan siempre como se
157     hacía antes, aunque usando el nombre del handler en vez de un
158     tipo de contenido. Aunque no es de obligado cumplimiento, la
159     convención de nombres para los handlers es que se usen
160     palabras separadas por guiones, sin barras, de manera que no se
161     invada el media type name-space.</p>
162   </div></div>
163 <div class="bottomlang">
164 <p><span>Idiomas disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
165 <a href="./es/handler.html" title="Español">&nbsp;es&nbsp;</a> |
166 <a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
167 <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
168 <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
169 <a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
170 <a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
171 </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comentarios</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
172 <script type="text/javascript"><!--//--><![CDATA[//><!--
173 var comments_shortname = 'httpd';
174 var comments_identifier = 'http://httpd.apache.org/docs/trunk/handler.html';
175 (function(w, d) {
176     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
177         d.write('<div id="comments_thread"><\/div>');
178         var s = d.createElement('script');
179         s.type = 'text/javascript';
180         s.async = true;
181         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
182         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
183     }
184     else {
185         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
186     }
187 })(window, document);
188 //--><!]]></script></div><div id="footer">
189 <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
190 <p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/quickreference.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
191 if (typeof(prettyPrint) !== 'undefined') {
192     prettyPrint();
193 }
194 //--><!]]></script>
195 </body></html>