Pregunta

Tengo curiosidad por saber cuáles son los impactos en el rendimiento del uso de autenticación básica de HTTP en un servidor web como Apache o lighttpd o nginx. Me imagino que el cuello de botella es la lectura real del archivo por el servidor para autenticar a un usuario. También me parece que el costo de la lectura del archivo para autenticar a un usuario es proporcional a la cantidad de usuarios en ese archivo.

Las preguntas que tengo son:
1. ¿hay un número específico de usuarios a la que autenticación básica a través de archivo comienza a caer drásticamente o se trata de forma lineal con respecto al número de usuarios en el archivo?
2. Dada la naturaleza sin estado de HTTP, si un usuario se ha autenticado utilizando autenticación básica de HTTP el servidor web en una petición:
- ¿Es, simplemente transmita las credenciales en cada petición y el servidor web debe analizar el archivo de contraseña cada vez con el fin de determinar si se trata de una solicitud de un usuario válido
? o
- obtener algo así como un símbolo que se utiliza en la cabecera HTTP en solicitudes posteriores, lo que permite el servidor para evitar analizar el archivo de contraseña de nuevo?

Gracias de antemano

¿Fue útil?

Solución

  1. linealmente relativa. Yo no me preocuparía. Autenticación básica de HTTP se prueba que es escalable. Basta con echar la API de Twitter como un ejemplo. Se utiliza autenticación básica.

  2.   

    "Debido a que el protocolo HTTP no tiene estado, cada solicitud será tratada de la misma manera, a pesar de que son del mismo cliente. Es decir, todos los recursos que se solicita desde el servidor tendrá que proporcionar credenciales de autenticación de nuevo en . para recibir el recurso Afortunadamente, el navegador se encarga de los detalles aquí, por lo que sólo tiene que teclear su nombre de usuario y la contraseña de una vez por sesión de navegador - es decir, es posible que tenga que escribirla de nuevo la próxima vez que abrir el navegador y visitar el mismo sitio web ".

Información detallada en el Apache autenticación documentación .

Otros consejos

Mi experiencia es sólo con Apache 2.x.

  1. Sí. Será lineal con el proveedor de autenticación por defecto (archivo). Utiliza ap_cfg_getline() por lo que será lineal con el número de líneas (usuarios).
  2. Sí. mod_aaa tiene que analizar la contraseña cada vez. Se puede usar algo como MemCookie de galleta o token de autenticación basada.

análisis de un archivo una vez al iniciar la sesión debe escalar bastante bien, no importa cuántos usuarios existen. Realmente no me preocuparía por eso. En el futuro, se puede desarrollar un enfoque impulsado por la base de datos con una correcta indexación. Sospecho de todos los cuellos de botella se le ejecuta en el desarrollo de un sitio, autenticación básica no va a ser uno de ellos por un tiempo muy muy largo -. A menos que su servidor web es mucho poca potencia

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top