Question

Je suis curieux de savoir quels sont les impacts des performances de l'utilisation de HTTP Basic Auth sur un serveur Web comme Apache ou LightTPD ou Nginx. J'imagine que le goulot d'étranglement est la lecture réelle du fichier par le serveur pour authentifier un utilisateur. Il me semble également que le coût de la lecture du fichier pour authentifier un utilisateur est proportionnel au nombre d'utilisateurs de ce fichier.

Les questions que j'ai sont:
1. Existe-t-il un nombre spécifique d'utilisateurs auquel le fichier de base Auth via le fichier commence à tomber considérablement ou est-il linéairement par rapport au nombre d'utilisateurs dans le fichier?
2. Compte tenu de la nature apatride de HTTP, si un utilisateur a été authentifié à l'aide de HTTP Basic Auth par le serveur Web sur une demande:
- Cela transfère-t-il simplement les informations d'identification à chaque demande et le serveur Web doit analyser le fichier de mot de passe à chaque fois afin de déterminer s'il s'agit d'une demande d'un utilisateur valide?
ou
- Obtenez quelque chose comme un jeton qu'il utilise dans l'en-tête HTTP sur les demandes suivantes, permettant au serveur d'éviter à nouveau d'analyser le fichier de mot de passe?

Merci d'avance

Était-ce utile?

La solution

  1. Relatif linéairement. Je ne m'inquiéterais pas. HTTP Basic Auth s'est avéré évolutif. Prenez simplement l'API Twitter comme exemple. Il utilise l'authentification de base.

  2. "Parce que le protocole HTTP est sans état, chaque demande sera traitée de la même manière, même si elle provient du même client. La ressource. Heureusement, le navigateur s'occupe des détails ici, afin que vous n'ayez à saisir que votre nom d'utilisateur et votre mot de passe une fois par session de navigateur - c'est-à-dire que vous devrez peut-être le taper à nouveau la prochaine fois que vous ouvrez votre navigateur et visitez le même site Web. "

Informations détaillées dans le Documentation Auth Auth.

Autres conseils

Mon expérience est avec Apache 2.x uniquement.

  1. Oui. Il sera linéaire avec le fournisseur d'authentification par défaut (fichier). Il utilise ap_cfg_getline() Il sera donc linéaire au nombre de lignes (utilisateurs).
  2. Oui. MOD_AAA doit analyser le mot de passe à chaque fois. Vous pouvez utiliser quelque chose comme Memcookie pour l'authentification basée sur les cookies ou les jetons.

L'analyse d'un fichier une fois à la connexion devrait assez bien évoluer, peu importe le nombre d'utilisateurs. Je ne m'inquiéterais vraiment pas. À l'avenir, vous pouvez développer une approche axée sur la base de données avec une indexation appropriée. Je soupçonne que tous les goulots d'étranglement que vous rencontrerez pour développer un site, Basic Auth ne fera pas partie d'entre eux pendant très très longtemps - à moins que votre serveur Web soit largement sous-alimenté.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top