HTTP tiene una característica llamada autenticación básica. Funciona de la siguiente manera.
Cuando accedes a una página o sitio web que requiere autenticación, verás una ventana de autorización. Esta ventana es generada por el navegador y solicita ingresar un nombre de usuario y contraseña.
Normalmente, si ingresamos datos incorrectos, el navegador los solicitará nuevamente. Y si hacemos clic en "Cancelar", recibiremos un error con el código 401. Es decir, en cualquier intento de acceder a una página que requiere autenticación básica, obtendremos una respuesta 401. No hay diferencia entre enviar un formulario con datos incorrectos o hacer clic en el botón "Cancelar".
En resumen, el navegador muestra este formulario cuando encuentra un error 401. Funciona de manera muy simple: o envías el encabezado correcto o recibes un error 401. No hay magia, no hay otras opciones de acción.
Veamos qué datos se requieren en esta interacción:
HTTP/1.1 401 Acceso denegado
WWW-Authenticate: Basic realm="Mi Servidor"
Content-Length: 0
No puedes acceder y recibes "Acceso denegado" junto con el encabezado del servidor "WWW-Authenticate: Basic realm="Mi Servidor"". En este encabezado hay una clave cuyo valor se muestra en la ventana de diálogo. No se utiliza en ningún otro lugar.
Después de ingresar el nombre de usuario y contraseña, se envían los siguientes encabezados:
GET /securefiles/ HTTP/1.1
Host: www.httpwatch.com
Authorization: Basic aHR0cHdhdGNoDmY=
En primer lugar, estos son los encabezados estándar para HTTP 1.1. En segundo lugar (y lo más importante), el encabezado "Authorization", que contiene la palabra obligatoria "Basic" seguida de una frase codificada después del espacio. Esta frase consiste en el nombre de usuario y contraseña, <username>:<password>, codificados en base64.
Eso es todo. Después de enviar los datos correctos, se realiza la autenticación y se obtiene acceso al sitio o página al que se accedió.
Materiales adicionales
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.