You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@httpd.apache.org by yo...@apache.org on 2001/05/28 11:12:41 UTC
cvs commit: httpd-docs-1.3/htdocs/manual cgi_path.html.fr cgi_path.html.html cgi_path.html
yoshiki 01/05/28 02:12:41
Added: htdocs/manual cgi_path.html.fr cgi_path.html.html
Removed: htdocs/manual cgi_path.html
Log:
New French translation.
Submitted by: Herve Dumont <hd...@club-internet.fr>
Revision Changes Path
1.1 httpd-docs-1.3/htdocs/manual/cgi_path.html.fr
Index: cgi_path.html.fr
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Traduction anglais 1.7 -->
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Modification de PATH_INFO dans l'environnement CGI</title>
</head>
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#000080"
ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<h1 ALIGN="CENTER">Modification de PATH_INFO dans l'environnement CGI </h1>
<hr>
<h2><a name="over">Vue d'ensemble</a></h2>
<p>Telle qu'elle �tait impl�ment�e dans les versions ant�rieures � la
version 1.1.1 d'Apache (comprise), la m�thode utilis�e par Apache pour
cr�er la variable PATH_INFO dans l'environnement CGI �tait loin d'�tre
intuitive, et pouvait conduire � certaines d�faillances dans certains
cas. A partir de la version 1.2 d'Apache, cette m�thode a �t�
modifi�e. Bien que ces modifications puissent conduire � certaines
incompatibilit�s avec certaines applications CGI, le comportement
d'Apache 1.2 reste toujours compatible avec la sp�cification CGI/1.1,
et les scripts CGI restent facilement modifiables (<a
href="#compat">voir ci-dessous</a>).
<h2><a name="prob">Le Probl�me</a></h2>
<p>Les versions d'Apache jusqu'� 1.1.1 construisaient les variables
d'environnement CGI PATH_INFO et SCRIPT_NAME en inspectant les noms
de fichiers, et non les URL. Bien que cette technique conduise � des
valeurs correctes dans la plupart des cas, il pouvait arriver que le
chemin d�fini par le syst�me de fichiers soit surcharg� par une
red�finition, laquelle conduisait � une mauvaise interpr�tation lors
de la constitution des variables. Par exemple, si la ligne suivante
apparaissait dans un fichier de configuration :
<pre>
Alias /cgi-ralph /usr/local/httpd/cgi-bin/user.cgi/ralph
</pre>
<p>Dans ce cas, <code>user.cgi</code> d�signe le script CGI, la cha�ne "/ralph"
est une information � passer au CGI. Si cette configuration �tait en
place, et qu'une requ�te vers "<code>/cgi-ralph/script/</code>" �tait
re�ue, le code du serveur aurait constitu� une variable PATH_INFO de valeur
"<code>/ralph/script</code>", et SCRIPT_NAME de valeur "<code>/cgi-</code>".
Il est �vident de constater que la deuxi�me variable est fausse. Dans
certains cas, cela aurait m�me pu conduire � un arr�t du serveur.</p>
<h2><a name="solution">La Solution</a></h2>
<p>Les versions post�rieures � 1.2 d'Apache d�finissent maintenant les
variables SCRIPT_NAME et PATH_INFO en inspectant directement l'URL, et
en d�terminant quelle portion de l'URL est modifiable par le client.
PATH_INFO est initialis� � cette partie modifiable. Pour r�exploiter
l'exemple ci-dessus, PATH_INFO prendrait maintenant la valeur
"<code>/script</code>", et SCRIPT_NAME la valeur correcte
"<code>/cgi-ralph</code>". Il n'y a plus de probl�me de comportement du
serveur dans ce cas. Cela permet en outre de garantir l'accessibilit�
de l'URL <code>http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO</code>"
laquelle pointe sur le script courant. Ce n'�tait pas n�cesairement vrai
dans les versions pr�c�dentes d'Apache.
<p>Toutefois, l'information "<code>/ralph</code>" de la directive
<code>Alias</code> est perdue. Nous pensions que l'utilisation du syst�me
de fichiers pour faire passer ce genre d'information n'�tait pas une
m�thode recommand�e, et un script utilisant ce principe �tait de
toutes fa�ons � �viter. Nous avons ajout� malgr� tout � partir de la
version 1.2b3 d'Apache une fa�on de <a href="#compat">contourner</a>
cette restriction.
<h2><a name="compat">Compatibilit� avec des serveurs plus anciens</a></h2>
<p>Il se peut que certains scripts �crits pour des versions ant�rieures
d'Apache ou pour d'autres serveurs aient besoin d'exploiter les informations
donn�es dans l'ancien mod�le de variable PATH_INFO. A cet effet,
la version 1.2 d'Apache (1.2b3
et post�rieures) proposent une variable suppl�mentaire, appel�e FILEPATH_INFO.
Cette nouvelle variable d'environnement contient la valeur qui �tait
pr�c�demment inscrite dans PATH_INFO par la version 1.1.1 d'Apache.</p>
<p>Un script d�sirant �tre compatible avec toutes les versions d'Apache
peut simplement tester l'existence de la variable FILEPATH_INFO, et
utiliser cette variable si besoin est. Autrement, il r�cup�rera ses
informations dans la variable PATH_INFO. Par exemple, en Perl, on pourra
�crire :
<pre>
$path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};
</pre>
<p>Par cette �criture, un script fonctionnera avec tous les serveurs
conformes � la sp�cification CGI/1.1, incluant par l� m�me toutes les
versions d'Apache.</p>
<!--#include virtual="footer.html" -->
</BODY>
</HTML>
1.1 httpd-docs-1.3/htdocs/manual/cgi_path.html.html
Index: cgi_path.html.html
===================================================================
<!--#include virtual="cgi_path.html.en" -->
---------------------------------------------------------------------
To unsubscribe, e-mail: apache-docs-unsubscribe@apache.org
For additional commands, e-mail: apache-docs-help@apache.org