Multi-processing, multi-threading
et authentification

Exemple avec Internet Explorer 6.0 et Netscape 4.7

Conséquences sur l'authentification


Exemple avec Internet Explorer 6.0 et Netscape 4.7

Application ouvertes visibles dans la barre des tâches

Process et threads correspondants

Interprétation

Internet Explorer 6.0

La fenêtre principale "Document sans-titre" est à l'origine de l'ouverture d'une nouvelle fenêtre fille "sur le serveur io.ac-....." qui est donc un nouveau thread lancé par le processus initial, alors que les autres fenêtres ouvertes indépendamment ("About;blank - Microsoft Internet Explorer") sont dans des processus séparés.

Netscape Navigator 4.7

Les 4 fenêtres ouvertes, pourtant indépendamment les unes des autres dans cet exemple, appartiennent toutes à un processus unique. Elles constituent simplement de multiples threads à l'intérieur d'un unique processus.

Conséquences sur l'authentification

Internet Explorer 6.0

Premier constat

L'authentification auprès du serveur web est liée au processus navigateur qui la demande (cela engage donc chaque fenêtre mère et les filles de cette mère). Les différentes fenêtres "mères" peuvent donc toutes avoir une authentification différentes.

Complication

Dans dernier test, l'application lancée dans la fenêtre fille est phpmyadmin qui récupère l'authentification donnée au serveur Apache.

J'ai testé deux fenêtres mères faisant tourner la même application. L'expérience prouve qu'une fois que la première fenêtre mère a ouvert la fenêtre fille l'autre ouvre l'URL dans la même fenêtre fille (peut-être parce qu'elle porte le même nom ?). Du coup, l'authentification ayant déjà été donnée, elle n'est pas redemandée car le navigateur réutilise celle donnée précédemment.

Si on referme cette fenêtre fille, la réouverture depuis la seconde mère redemande l'authentification et on peut donc en  donner une différente. Le même phénomène que précédemment se reproduit mais cette fois dans l'autre sens, c'est-à-dire que l'activation du lien dans la première fenêtre mère (malgré l'authentification enregistrée précédemment) ne modifie pas l'authentification de la fenêtre fille tant que cette dernière n'est pas refermée.

Enfin si on referme cette fenêtre fille, maintenant que les processus des deux fenêtres mères ont chacun une copie de leur propre authentification, chaque fois qu'on clique sur le lien pour ouvrir la fenêtre fille, si cette dernière a été refermée entre deux essais, l'authentification fournie dépend la fenêtre mère qui la rouvre.

Netscape Navigator 4.7

Toutes les fenêtres, qu'elles soient mères ou filles, partagent le même processus et la même authentification. Donc tant que toutes les fenêtres n'ont pas été refermées, on ne peut pas changer l'authentification.


mailto:etienne.durup@free.fr

Dernière mise à jour : 10.04.2002