¿Por qué Apache necesita autorización para la URL con nombre de usuario y contraseña?

¿Por qué Apache necesita autorización para la URL con nombre de usuario y contraseña?

Construyo una autorización básica en Apache. Solo una línea en /var/www/html/remote.html.

<p>it is a test </p>

Ahora a verificar el nombre de usuario y contraseña con curl.

curl -u xxxx:xxxx -v  http://111.111.111.111/remote.html
*   Trying 111.111.111.111...
* TCP_NODELAY set
* Connected to 111.111.111.111 (111.111.111.111) port 80 (#0)
* Server auth using Basic with user 'xxxx'
> GET /remote.html HTTP/1.1
> Host: 111.111.111.111
> Authorization: Basic dGVzdHBhc3M6MTIzNDU2Nzg=
> User-Agent: curl/7.52.1
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Fri, 07 Sep 2018 03:32:42 GMT
< Server: Apache/2.4.6 (CentOS)
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
< Access-Control-Allow-Credentials: true
< Access-Control-Allow-Headers: Authorization,DNT,User-Agent,Keep-Alive,Content-Type,accept,origin,X-Requested-With
< Last-Modified: Fri, 07 Sep 2018 03:22:41 GMT
< ETag: "b2-5753f8537e26c"
< Accept-Ranges: bytes
< Content-Length: 178
< Content-Type: text/html; charset=UTF-8
< 

<p>it is a test </p>
* Curl_http_done: called premature == 0
* Connection #0 to host 111.111.111.111 left intact

Ingrese http://111.111.111.111/remote.html?username=xxxx&password=xxxxen el navegador, aparecerá la ventana de autorización.

ingrese la descripción de la imagen aquí

La URL contiene el nombre de usuario y la contraseña correctos verificados por curl, ¿por qué no se puede mostrar remoto.html directamente?
¿Por qué mi URL http://111.111.111.111/remote.html?username=xxxx&password=xxxxno puede proporcionar información de autorización al servidor Apache?

Respuesta1

La URL para la autenticación básica es

http://testpass:[email protected]/remote.html

Respuesta2

Las credenciales de autenticación básica HTTP se envían en un encabezado específico desde el cliente al servidor;noagregado a la URL de esa manera. Puedes verificar esto observando que

curl http://111.111.111.111/remote.html?username=xxxx&password=xxxx

Tampoco funciona: la -ubandera sabe enviarla de manera diferente y su navegador también.cuando ingresas los créditos en el formulario proporcionado.

Respuesta3

use lo siguiente y también verifiqueOtras respuestasyCómo ingresar a la CLI de inicio de sesión

curl --user user:pass http://myweb.com/hello.html  

información relacionada