WWWOFFLE - Fichier de configuration - Version 2.7
Introduction
Le fichier de configuration (wwwoffle.conf) spécifie tous les paramètres qui
contrôlent l'activité du serveur proxy. Le fichier est divisé en sections
décrites ci-dessous contenant chacune une série de paramètres. Le fichier
CHANGES.CONF explique les changements de ce fichier de configuration par rapport
aux versions précédentes.
Le fichier est divisé en sections, chacune pouvant être vide ou contenir une ou
plusieurs lignes d'information de configuration. Les sections sont nommées, et
leur ordre d'apparition dans le fichier n'est pas important.
Le format général de chacune des sections est le même. Le nom de la section est
sur une ligne, et en marque le début. Le contenu de la section est délimité par
une paire de lignes contenant seulement les caractères '{' et '}', ou '[' et
']'. Quand la paire '{' et '}' est utilisée, les lignes encloses contiennent des
informations de configuration. Quand la paire '[' et ']' est utilisée, il doit y
avoir à l'intérieur de cette dernière une seule ligne non vide, contenant le nom
d'un fichier (dans le même répertoire) contenant les lignes de configuration de
cette section.
Les commentaires sont signalés par le caractère '#' au début de la ligne, et
sont ignorés. Les lignes vides sont aussi permises et ignorées.
Les entités URL-SPECIFICATION (URL-SPEC en abrégé) et WILDCARD ont une
signification particulière dans le fichier de configuration, et sont décrites à
la fin. Toute entité enclose entre parenthèses '(' et ')' dans les descriptions
signifie un paramètre fourni par l'utilisateur, tout ce qui est entre crochets
'[' et ']' est optionnel, et la barre verticale '|' indique une
alternative. Certaines options s'appliquent seulement à des URL, ceci est
précisé par une URL-SPECIFICATION enclose entre '<' & '>' dans l'option, la
première URL-SPECIFICATION qui correspond au motif est utilisée. Si aucune
URL-SPECIFICATION n'est donnée, alors toute URL correspond.
StartUp
Cette section contient les paramètres utilisés au lancement du programme, les
changements éventuels sont ignorés si la configuration est relue pendant
l'exécution.
bind-ipv4 = (hostname) | (ip-address) | none
Spécifie le nom d'hôte ou l'adresse IP où lier les sockets proxy HTTP et port
de contrôle WWWOFFLE utilisant IPv4 (par défaut '0.0.0.0'). Si 'none'
est indiqué, alors aucun socket IPv4 n'est utilisé.
bind-ipv6 = (hostname) | (ip-address) | none
Spécifie le nom d'hôte ou l'adresse IP où lier les sockets proxy HTTP et port
de contrôle WWWOFFLE utilisant IPv6 (par défaut '::'). Si 'none'
est indiqué, alors aucun socket IPV6 n'est utilisé. L'option de
compilation IPv6 est requise.
http-port = (port)
Un entier indiquant le port du serveur proxy (8080 par défaut).
wwwoffle-port = (port)
Un entier indiquant le port de contrôle WWWOFFLE (8081 par défaut).
spool-dir = (dir)
Le chemin complet du répertoire de cache (répertoire de spool)
(défaut=/var/spool/wwwoffle).
run-uid = (user) | (uid)
Le nom d'utilisateur ou le numéro UID sous lequel le serveur WWWOFFLE
est lancé (défaut=aucun). Cette option n'est pas applicable sous win32
et ne fonctionne que si le serveur est lancé par l'utilisateur root sous
UNIX.
run-gid = (group) | (gid)
Le groupe ou le numéro GID sous lequel le serveur WWWOFFLE est lancé
(défaut=aucun). Cette option n'est pas applicable sous win32, et ne
fonctionne que si le serveur est lancé par l'utilisateur root sous UNIX.
use-syslog = yes | no
Indique si le service syslog est utilisé pour les messages (défaut=yes).
password = (word)
Le mot de passe utilisé pour l'authentification des pages de contrôle,
pour l'effacement des pages mémorisées, etc. (défaut=aucun). Pour
sécuriser la configuration, la lecture du fichier de configuration doit
être réservée aux utilisateurs autorisés.
max-servers = (integer)
Le nombre maximum de processus serveurs lancés en ligne et pour le
rapatriement automatique (défaut=8).
max-fetch-servers = (integer)
Le nombre maximum de serveurs lancés pour le rapatriement automatique
des pages demandées en mode hors-ligne (défaut=4). Cette valeur doit
être inférieure à max-servers pour permettre l'usage interactif
simultané.
Options
Options contrôlant le fonctionnement du programme
log-level = debug | info | important | warning | fatal
Le niveau minimum de message syslog ou stderr (défaut=important).
socket-timeout = (time)
Le temps d'attente en secondes des données sur un socket avant abandon
par WWWOFFLE (défaut=120).
dns-timeout = (time)
Le temps d'attente en secondes d'une requête DNS (Domain Name Service)
avant abandon par WWWOFFLE (défaut=60).
connect-timeout = (time)
Le temps d'attente en secondes pour obtenir un socket avant abandon par
WWWOFFLE (défaut=30).
connect-retry = yes | no
Si une connexion à un serveur distant ne peut être obtenue, alors
WWWOFFLE essaiera encore après un court délai (défaut=no).
ssl-allow-port = (integer)
Un numéro de port autorisé pour les connexions SSL (Secure Socket
Layer), par ex. https. Cette option devrait être fixée à 443 pour
autoriser https, il peut y avoir plusieurs lignes ssl pour autoriser
d'autres ports si besoin.
dir-perm = (octal int)
Les permissions de répertoires pour la création des répertoires de spool
(défaut=0755). Cette option écrase le umask de l'utilisateur, et doit
être octale, commençant par un zéro '0'.
file-perm = (octal int)
Les permissions de fichiers pour la création des fichiers de spool
(défaut=0644). Cette option écrase le umask de l'utilisateur, et doit
être octale, commençant par un zéro '0'.
run-online = (filename)
Le nom d'un programme à lancer quand WWWOFFLE est commuté en mode en
ligne (défaut=aucun). Ce programme est lancé avec un seul paramètre,
fixé au nom du mode, "online".
run-offline = (filename)
Le nom du programme à lancer quand WWWOFFLE est commuté en mode
hors-ligne (défaut=aucun). Ce programme est lancé avec un seul
paramètre, le nom du mode, "offline".
run-autodial = (filename)
Le nom d'un programme à lancer quand WWWOFFLE est commuté en mode
automatique (défaut=aucun). Le programme est lancé avec un seul
paramètre, le nom du mode, "autodial".
run-fetch = (filename)
Le nom du programme à lancer quand WWWOFFLE démarre ou arrête le
rapatriement automatique (défaut=aucun). Ce programme est lancé avec
deux paramètres, le premier le mot "fetch", et le second l'un des mots
"start" ou "stop".
lock-files = yes | no
Active l'usage des fichiers verrous pour empêcher plus d'un processus
WWWOFFLE de rapatrier simultanément la même URL (défaut=no).
reply-compressed-data = yes | no
Si les réponses faites au navigateur doivent contenir des données
compressées quand demandé (défaut=no). Nécessite l'option de compilation
zlib.
OnlineOptions
Options contrôlant le comportement en ligne de WWWOFFLE.
[<URL-SPEC>] request-changed = (time)
En ligne, les pages ne seront rapatriées que si la version mémorisée est
plus ancienne que le temps indiqué en secondes (défaut=600). Une valeur
négative indique que les pages mémorisées sont toujours utilisées en
ligne. Des temps longs peuvent être indiqués par les suffixes 'm', 'h',
'd' ou 'w' pour minute, heure, jour ou semaine (par ex. 10m=600).
[<URL-SPEC>] request-changed-once = yes | no
En ligne, les pages ne seront rapatriées qu'une seule fois par session
(défaut=yes). Cette option a priorité sur l'option request-changed.
[<URL-SPEC>] request-expired = yes | no
En ligne, les pages périmées seront rafraîchies (défaut=no). Cette option
a priorité sur les options request-changed et request-changed-once.
[<URL-SPEC>] request-no-cache = yes | no
En ligne, les pages à ne pas cacher seront toujours redemandées
(défaut=no). Cette option a priorité sur les options request-changed et
request-changed-once.
[<URL-SPEC>] try-without-password = yes | no
Si une requête demande une page utilisant un nom et un mot de passe,
alors une requête de la même page sera faite sans (défaut=yes). Ceci
autorise la requête d'une page sans mot de passe à être redirigée vers
la version avec.
[<URL-SPEC>] intr-download-keep = yes | no
Si le navigateur ferme la connexion en ligne, alors la page incomplète
sera conservée (défaut=no).
[<URL-SPEC>] intr-download-size = (integer)
Si le navigateur ferme la connexion en ligne, la page devrait continuer
à être rapatriée si sa taille est inférieure à celle indiquée en
kilo-octets (défaut=1).
[<URL-SPEC>] intr-download-percent = (integer)
Si le navigateur ferme la connexion en ligne, la page devrait continuer
à être rapatriée si le pourcentage indiqué est atteint (défaut=80).
[<URL-SPEC>] timeout-download-keep = yes | no
Si la connexion au serveur est abandonnée, la page incomplète doit être
conservée (défaut=no).
[<URL-SPEC>] request-compressed-data = yes | no
Si les requêtes aux serveurs doivent demander des données compressées
(défaut=yes). Nécessite l'option de compilation zlib.
OfflineOptions
Options contrôlant le comportement hors ligne de WWWOFFLE.
[<URL-SPEC>] pragma-no-cache = yes | no
Indique s'il faut rafraîchir une copie si la requête du navigateur a
l'option 'Pragma: no-cache' (défaut=yes). Cette option doit être à 'no'
si hors ligne toutes les pages sont redemandées par un navigateur
défectueux.
[<URL-SPEC>] confirm-requests = yes | no
Indique s'il faut renvoyer une page de confirmation au lieu
d'enregistrer automatiquement les demandes faites hors ligne
(défaut=no).
[<URL-SPEC>] dont-request = yes | no
Ne pas demander hors ligne une URL de ce modèle (défaut=no).
FetchOptions
Options contrôlant le rapatriement de pages demandées hors ligne.
[<URL-SPEC>] stylesheets = yes | no
Rapatriement des feuilles de style (défaut=no).
[<URL-SPEC>] images = yes | no
Rapatriement des images (défaut=no).
[<URL-SPEC>] webbug-images = yes | no
Rapatriement des imagettes d'un seul pixel, nécessite que l'option image
soit aussi activée (défaut=yes). Cette option est conçue pour être
utilisée avec l'option replace-webbug-images de la section ModifyHTML.
[<URL-SPEC>] frames = yes | no
Rapatriement des cadres (défaut=no).
[<URL-SPEC>] scripts = yes | no
Rapatriement des scripts (par ex. Javascript) (défaut=no).
[<URL-SPEC>] objects = yes | no
Rapatriement des objets (par ex. fichier de classe Java) (défaut=no).
IndexOptions
Options contrôlant l'affichage des index.
no-lasttime-index = yes | no
Supprime la création des index des sessions précédentes (défaut=no).
cycle-indexes-daily = yes | no
Rotation quotidienne des index des sessions et demandes précédentes
au lieu de pour chaque connexion (défaut=no).
<URL-SPEC> list-outgoing = yes | no
Indique s'il faut afficher ce type d'URL dans les demandes (défaut=yes).
<URL-SPEC> list-latest = yes | no
Indique s'il faut afficher ce type d'URL dans les sessions et demandes
précédentes (défaut=yes).
<URL-SPEC> list-monitor = yes | no
Indique s'il faut afficher ce type d'URL dans la liste des pages à
surveiller périodiquement (défaut=yes).
<URL-SPEC> list-host = yes | no
Indique s'il faut afficher ce type d'URL dans les listes par site
(défaut=yes).
<URL-SPEC> list-any = yes | no
Indique s'il faut afficher ce type d'URL dans toutes les listes
(défaut=yes).
ModifyHTML
Options contrôlant la modification du HTML mémorisé.
[<URL-SPEC>] enable-modify-html = yes | no
Active la modification du HTML dans cette section (défaut=no). Sans
cette option, les suivantes resteront sans effet. Avec cette option, il
y aura un petit ralentissement.
[<URL-SPEC>] enable-modify-online = yes | no
Active aussi la modification en ligne. Ceci fera attendre l'affichage du
HTML et des images GIF jusqu'à traitement complet par WWWOFFLE. Ceci ne
s'applique pas aux pages non mémorisées.
[<URL-SPEC>] add-cache-info = yes | no
À la fin des pages mémorisées apparaîtra la date et quelques liens
(défaut=no).
[<URL-SPEC>] anchor-cached-begin = (HTML code) |
Ce code HTML sera inséré avant les liens des pages mémorisées
(défaut="").
[<URL-SPEC>] anchor-cached-end = (HTML code) |
Ce code HTML sera inséré après les liens des pages mémorisées
(défaut="").
[<URL-SPEC>] anchor-requested-begin = (HTML code) |
Ce code HTML sera inséré avant les liens vers des pages demandées
(défaut="").
[<URL-SPEC>] anchor-requested-end = (HTML code) |
Ce code HTML sera inséré après les liens vers des pages demandées
(défaut="").
[<URL-SPEC>] anchor-not-cached-begin = (HTML code) |
Ce code HTML sera inséré avant les liens vers des pages ni présentes ni
demandées (défaut="").
[<URL-SPEC>] anchor-not-cached-end = (HTML code) |
Ce code HTML sera inséré après les liens vers des pages ni présentes ni
demandées (défaut="").
[<URL-SPEC>] disable-script = yes | no
Supprime tous les scripts et événements (défaut=no).
[<URL-SPEC>] disable-applet = yes | no
Supprime toutes les applets Java (défaut=no).
[<URL-SPEC>] disable-style = yes | no
Supprime toutes les feuilles de style et leurs références (défaut=no).
[<URL-SPEC>] disable-blink = yes | no
Supprime les balises de clignotement (défaut=no).
[<URL-SPEC>] disable-flash = yes | no
Supprime les animations Shockwave Flash (défaut=no).
[<URL-SPEC>] disable-meta-refresh = yes | no
Supprime les balises d'en-tête HTML qui redirigent le navigateur vers
une autre page après un délai (défaut=no).
[<URL-SPEC>] disable-meta-refresh-self = yes | no
Supprime les balises d'en-tête HTML qui indiquent au navigateur de
recharger la même page après un délai (défaut=no).
[<URL-SPEC>] disable-dontget-links = yes | no
Supprime les liens vers une URL de la section DontGet (défaut=no).
[<URL-SPEC>] disable-dontget-iframes = yes | no
Supprime les liens des URL de cadres de la section DontGet (défaut=no).
[<URL-SPEC>] replace-dontget-images = yes | no
Remplace les URL d'images de la section DontGet par une URL fixe
(défaut=no).
[<URL-SPEC>] replacement-dontget-image = (URL)
L'image de remplacement à utiliser pour les URL de la section DontGet
(défaut=/local/dontget/replacement.gif).
[<URL-SPEC>] replace-webbug-images = yes | no
Remplace les URL d'imagettes d'un pixel par une URL fixe (défaut=no).
Cette option est conçue pour être utilisée avec l'option webbug-images
de la section FetchOptions.
[<URL-SPEC>] replacement-webbug-image = (URL)
L'image de remplacement des imagettes d'un pixel
(défaut=/local/dontget/replacement.gif).
[<URL-SPEC>] disable-animated-gif = yes | no
Supprime l'animation des images GIF animées (défaut=no).
[<URL-SPEC>] demoronise-ms-chars = yes | no
Remplace quelques caractères étranges insérés par quelques applications
Microsoft par des caractères que la majorité des navigateurs peut
afficher (défaut=no). Cette idée provient du script Perl Demoroniser, du
domaine public.
LocalHost
Une liste de noms sous lequel l'hôte du serveur WWWOFFLE peut être connu. Ceci
permet d'éviter que ce dernier ne se contacte lui-même sous un autre nom.
(host)
Un nom ou une adresse IP qui avec le numéro de port (cf. section
StartUp) indique le serveur proxy WWWOFFLE. Les noms doivent
correspondre exactement, ce n'est pas un patron modèle. Le premier nommé
est utilisé comme nom du serveur pour plusieurs choses et doit donc être
un nom fonctionnel pour tous les clients du réseau. Aucun nom ainsi
indiqué n'abrite de page mémorisée ou rapatriée par le proxy.
LocalNet
Une liste de noms dont les serveurs web sont toujours accessibles même hors
ligne, et dont les pages ne sont pas mémorisées par WWWOFFLE car sur le réseau local.
(host)
Un nom nom ou adresse IP toujours accessible et dont les pages ne sont
pas mémorisées par WWWOFFLE. La reconnaissance de ce nom ou adresse
utilise un patron modèle. Un hôte peut être exclu en le préfixant par un
point d'exclamation '!', tous les alias et adresses IP possibles sont
aussi requis. Toutes ces entrées sont supposées toujours accessibles
même hors ligne. Aucun des hôtes ainsi mentionnés n'a de page mémorisée.
AllowedConnectHosts
Une liste de clients autorisés à se connecter au serveur.
(host)
Un nom d'hôte ou une adresse IP autorisé à se connecter au serveur. La
reconnaissance de ce nom ou adresse utilise un patron modèle. Un hôte
peut être exclu en le préfixant par un point d'interrogation '!', tous
les alias et adresses IP sont aussi requis. Tous les hôtes de la section
LocalHost sont aussi autorisés.
AllowedConnectUsers
Une liste des utilisateurs autorisés à se connecter et leurs mots de passe.
(username):(password)
Le nom (login) et le mot de passe des utilisateurs autorisés à se
connecter au serveur. Si cette section est laissée vide, il n'y a pas
d'authentification. Le nom et le mot de passe sont inscrits en
clair. Ceci requiert l'utilisation de navigateurs respectant le standard
d'authentification HTTP/1.1
DontCache
Une liste d'URL non mémorisées par WWWOFFLE.
Ne mémorise aucune URL correspondant à ce modèle. L'URL-SPECIFICATION
peut être exclue pour autoriser la mémorisation. Les URL ne seront pas
enregistrées hors ligne.
DontGet
Une liste d'URL qui ne seront pas rapatriées par WWWOFFLE (parce qu'elles ne
contiennent que des publicités, par exemple).
Ne pas rapatrier une URL conforme à ce modèle. L'exclusion permet
le rapatriement.
[<URL-SPEC>] replacement = (URL)
L'URL de remplacement des URL conformes à URL-SPEC, à la place du
message d'erreur standard (défaut=none). Les URL du répertoire
/local/dontget/ sont suggérées pour cet office (par ex. replacement.gif,
replacement.png qui sont des images d'un seul pixel transparent, ou
replacement.js qui est un fichier javascript vide).
<URL-SPEC> get-recursive = yes | no
Indique si les URL de ce modèle doit être rapatriées récursivement
(défaut=yes).
<URL-SPEC> location-error = yes | no
Quand une réponse d'URL contient un en-tête 'Location' qui redirige vers
une URL à ne pas rapatrier (indiquée dans cette section), alors la
réponse est modifiée en message d'erreur (défaut=no). Ceci empêchera un
proxy de fournisseur d'accès de rediriger les utilisateurs vers des
publicités si elles sont mentionnées dans cette section.
DontCompress
Une liste de types MIME et d'extensions de nom de fichiers à ne pas compresser
par WWWOFFLE (parce qu'elles sont déjà compressées, ou n'en valent pas la
peine). Requiert l'option de compilation zlib.
mime-type = (mime-type)/(subtype)
Le type MIME d'une URL à ne pas comprimer dans le cache ou en servant
des pages compressées aux navigateurs.
file-ext = .(file-ext)
Une extension de fichier à ne pas demander compressé à un serveur.
CensorHeader
Une liste d'en-têtes HTTP à enlever des requêtes aux serveurs web et les
réponses qui en reviennent.
[<URL-SPEC>] (header) = yes | no | (string)
Un nom d'en-tête (par ex. From, Cookie, Set-Cookie, User-Agent) et la
chaîne de remplacement (défaut=no). L'en-tête est sensible à la casse,
et ne doit pas se terminer par un deux-points ':'. La valeur "no"
signifie que cet en-tête n'est pas modifié, "yes" ou pas de chaîne peut
être utilisé pour supprimer cet en-tête, et une chaîne remplace la
valeur de cet en-tête. Seuls les en-têtes trouvés sont remplacés, aucun
nouvel en-tête n'est ajouté.
[<URL-SPEC>] referer-self = yes | no
Met l'en-tête Referer à la même valeur que l'URL demandée (défaut=no).
[<URL-SPEC>] referer-self-dir = yes | no
Met l'en-tête Referer au nom du répertoire de l'URL demandée
(défaut=no). Cette option est prioritaire sur l'option referer-self.
FTPOptions
Options utilisées pour le protocole FTP.
anon-username = (string)
Le nom d'utilisateur FTP anonyme utilisé (défaut=anonymous).
anon-password = (string)
Le mot de passe à utiliser pour le FTP anonyme (défaut déterminé à
l'exécution). Si on utilise un coupe-feu, la valeur peut être invalide
pour le serveur FTP, et doit être remplacée.
<URL-SPEC> auth-username = (string)
Le nom d'utilisateur sur ces serveurs au lieu de l'anonyme par défaut.
<URL-SPEC> auth-password = (string)
Le mot de passe à utiliser au lieu de celui par défaut.
MIMETypes
Types MIME à utiliser en servant des fichiers qui ne sont pas rapatriés sous le
protocole HTTP, ou pour les fichiers du serveur web incorporé.
default = (mime-type)/(subtype)
Type MIME par défaut (défaut=text/plain).
.(file-ext) = (mime-type)/(subtype)
Type MIME associé à une extension. Le point '.' initial doit être
présent. Si plus d'une extension convient, la plus longue est choisie.
Proxy
Les noms des serveurs proxys externes à utiliser.
[<URL-SPEC>] proxy = (host[:port])
Le nom d'hôte et le port du proxy.
<URL-SPEC> auth-username = (string)
Le nom d'utilisateur à utiliser. La spécification URL-SPEC correspond
ici au serveur proxy, et non à l'URL demandée.
<URL-SPEC> auth-password = (string)
Le mot de passe à utiliser. La spécification URL-SPEC correspond
ici au serveur proxy, et non à l'URL demandée.
[<URL-SPEC>] ssl = (host[:port])
Un serveur proxy utilisé pour les connexions SSL (Secure Socket Layer),
par ex. https. Noter que seule la partie hôte de URL-SPEC est vérifiée,
et le reste doit être remplacé par des jokers '*'.
Alias
Une liste d'alias de remplacement de serveurs et chemins. Aussi pour les
serveurs connus sous deux noms.
Toute requête correspondant à la première URL-SPECIFICATION sera
remplacée par la seconde. La correspondance doit être exacte, il n'y a
pas de patron, les arguments de l'URL sont ignorés.
Purge
La méthode pour déterminer les pages à purger, l'âge par défaut, l'âge
spécifique à l'hôte des pages en jours, et la taille maximum du cache.
use-mtime = yes | no
La méthode utilisée pour décider des fichiers à purger, dernier accès
(atime) ou dernière modification (ctime) (défaut=no).
max-size = (size)
La taille maximale du cache en méga-octets après la purge
(défaut=0). Une valeur nulle signifie pas de limite. Si cette option et
min-free sont toutes deux utilisées, la plus petite taille de cache est
choisie. Cette option tient compte des URL jamais purgées pour mesurer
la taille du cache, mais ne les supprime pas.
min-free = (size)
La taille minimale d'espace libre en méga-octets après la purge
(défaut=0). Une taille nulle signifie aucune limite pour l'espace
libre. Si cette option et l'option max-size sont toutes deux utilisées,
la plus petite taille de cache est choisie. Cette option tient compte
des URL jamais purgées pour le décompte, mais ne les supprime pas.
use-url = yes | no
Si 'yes' alors utilise l'URL pour décider de l'âge, sinon utilise
seulement le protocole et l'hôte (défaut=no).
del-dontget = yes | no
Si 'yes' alors supprime les pages correspondant à la section DontGet
(défaut=no).
del-dontcache = yes | no
Si 'yes' alors supprime les pages correspondant à la section DontCache
(défaut=no).
L'âge maximum en jours dans le cache pour les URL correspondant à
URL-SPEC (défaut=14). Un âge nul signifie ne pas garder, et négatif ne
pas effacer. URL-SPECIFICATION correspond seulement au protocole et à
l'hôte, sauf si l'option use-url est activée. Des temps plus longs
peuvent être indiqués par les suffixes 'w', 'm' ou 'y' pour semaine,
mois et année (par ex. 2w=14).
[<URL-SPEC>] compress-age = (age)
L'âge maximum de stockage sans compression dans le cache pour les URL
correspondant à URL-SPEC (défaut=-1). Requiert l'option de compilation
zlib. L'âge a la même signification que pour l'option age.
WILDCARD
Une correspondance joker utilise le caractère '*' pour représenter un groupe
quelconque de caractères.
Ceci est fondamentalement identique aux expressions en ligne de commande des
shells DOS ou UNIX, excepté le fait que '*' correspond aussi au caractère
'/'.
Par exemple,
- *.gif
- correspond à foo.gif et bar.gif
- *.foo.com
- correspond à www.foo.com et ftp.foo.com
- /foo/*
- correspond à /foo/bar.html et /foo/bar/foobar.html
URL-SPECIFICATION
En indiquant un hôte, un protocole et un chemin dans de nombreuses sections, une
URL-SPECIFICATION peut être utilisée, c'est un moyen de reconnaître une URL.
Pour cette explication, une URL peut être composée de cinq parties.
- proto
- Le protocole utilisé (par ex. 'http', 'ftp')
- host
- Le nom du serveur (par ex. 'www.gedanken.demon.co.uk').
- port
- Le numéro de port sur le serveur (par ex. 80 pour le HTTP).
- path
- Le chemin sur le serveur (par ex. '/bar.html') ou un nom de
répertoire (par ex. '/foo/').
- args
- Arguments de l'URL pour les scripts CGI, etc.
(par ex. 'search=foo').
Par exemple, prenons la page d'accueil de WWWOFFLE,
http://www.gedanken.demon.co.uk/wwwoffle/
Le protocole est 'http', l'hôte 'www.gedanken.demon.co.uk', le port est celui
par défaut (ici, 80), et le chemin est '/wwwoffle/'.
En général, on écrira (proto)://(host)[:(port)][/(path)[?(args)]]
où les crochets [] indiquent une partie optionnelle, et les parenthèses () un
nom ou un numéro fourni par l'utilisateur.
Ci dessous quelques exemples de URL-SPECIFICATION :
- *://*/*
- Tout protocole, tout hôte, tout port, tout chemin, tous
arguments (ce qui revient à 'default').
- *://*/(path)
- Tout protocole, tout hôte, tout port, chemin précisé, tous
arguments.
- *://*/*.(ext)
- Tout protocole, tout hôte, tout port, extension précisée,
tous arguments.
- *://*/*?
- Tout protocole, tout hôte, tout port, tout chemin, pas
d'arguments.
- *://*/(path)?*
- Tout protocole, tout hôte, tout port, chemin précisé, tous
arguments.
- *://(host)/*
- Tout protocole, hôte précisé, tout port, tout chemin, tous
arguments.
- (proto)://*/*
- Protocole précisé, tout hôte, tout port, tout chemin, tous
arguments.
(proto)://(host)/* Protocole et hôte précisés, tout port, tout chemin, tous
arguments.
(proto)://(host):/* Protocole et hôte précisés, port par défaut, tout chemin, tous
arguments.
*://(host):(port)/* Tout protocole, hôte et port précisés, tout chemin, tous
arguments.
La correspondance des hôtes, chemins et arguments utilise les jokers décrits
ci-dessus.
Dans quelques sections acceptant les URL-SPECIFICATION, celles-ci peuvent être
exclues en les préfixant d'un point d'exclamation '!'. Cela signifie que la
comparaison renverra la valeur logique contraire à celle renvoyée sans le '!'.
Si toutes les URL-SPECIFICATION sont exclues, et qu'on rajoute '*://*/*' à la
fin, le sens de la section est renversé.