1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Uso de los Handlers en Apache - Servidor HTTP Apache</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">M�dulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p>
<p class="apache">Versi�n 2.0 del Servidor HTTP Apache</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentaci�n</a> > <a href="./">Versi�n 2.0</a></div><div id="page-content"><div id="preamble"><h1>Uso de los Handlers en Apache</h1>
<div class="toplang">
<p><span>Idiomas disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/handler.html" title="Espa�ol"> es </a> |
<a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> |
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> |
<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p>
</div>
<p>Este documento describe el uso de los Handlers en Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#definition">�Qu� es un Handler?</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#examples">Ejemplos</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#programmer">Nota para programadores</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="definition" id="definition">�Qu� es un Handler?</a></h2>
<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_imap.html">mod_imap</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>
<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>Apache 1.1 a�ade la posibilidad de usar handlers
explicitamente. Bas�ndose en la extension del fichero o en
la ubicaci�n en la que este, se pueden especificar handlers
sin tener en cuenta el tipo de fichero de 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 ser tanto ser compilados con el servidor
como incluidos en un m�dulo, como a�adidos con la
directiva <code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code>. Los
handlers compilados 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. (<code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code>)</li>
<li><strong>cgi-script</strong>: Trata el fichero como un sript
CGI. (<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code>)</li>
<li><strong>imap-file</strong>: Trata el fichero como un mapa de
im�genes. (<code class="module"><a href="./mod/mod_imap.html">mod_imap</a></code>)</li>
<li><strong>server-info</strong>: Extrae la informaci�n de
configuraci�n del
servidor. (<code class="module"><a href="./mod/mod_info.html">mod_info</a></code>)</li>
<li><strong>server-status</strong>: Extrae el informe de estado
del servidor. (<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>)</li>
<li><strong>type-map</strong>: Trata el fichero como una
correspondencia de tipos para la negociaci�n de contenidos.
(<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>)</li> </ul> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Ejemplos</a></h2>
<h3><a name="example1" id="example1">Modificar contenido est�tico usando un script
CGI</a></h3>
<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>
<div class="example"><p><code>
Action add-footer /cgi-bin/footer.pl<br />
AddHandler add-footer .html
</code></p></div>
<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>
<h3><a name="example2" id="example2">Archivos con cabaceras HTTP</a></h3>
<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>
<div class="example"><p><code>
<Directory /web/htdocs/asis><br />
SetHandler send-as-is<br />
</Directory>
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="programmer" id="programmer">Nota para programadores</a></h2>
<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>
<div class="example"><p><code>
char *handler
</code></p></div>
<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>
</div></div>
<div class="bottomlang">
<p><span>Idiomas disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/handler.html" title="Espa�ol"> es </a> |
<a href="./fr/handler.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> |
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> |
<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p>
</div><div id="footer">
<p class="apache">Copyright 2009 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>
<p class="menu"><a href="./mod/">M�dulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html>
|