El criterio para asociar una solicitud con un host virtual de entre todos los que integran la lista será el siguiente.
A
partir de la información procedente de las cabeceras de la solicitud
HTTP realizada por el cliente se usarán los siguientes datos (entre paréntesis con que parametro del host virtual se compara):
- Nombre DNS utilizado (ServerName)
- puerto TCP (puerto)
- IP a la que se resuelve el nombre DNS (Addresss)
- IP especificada explícitamente, si se ha usado directamente la IP en la URL en lugar de un nombre DNS. (Address)
El criterio para seleccionar el host virtual que atiende la petición
HTTP recibida en el servidor se basa en el número de parámetros que
coinciden con los de la solicitud, pero en un orden de prioridad. En
primero lugar la IP, a continuación el número de puerto y por último el
ServerName.
Por lo tanto, si encontramos en la lista de
hosts virtuales un solo host virtual con la IP establecida de forma
explicita y esta coinicide con la IP de la solicitud (o la IP del nombre
DNS una vez resuelto) este será el host virtual asociado con la
solicitud.
Si existieran varios hosts virtuales con la
IP coincidente, entonces entre ellos se escogerá aquel que explicite el
número de puerto TCP y este coincida con el de la solicitud HTTP
recibida.
Nuevamente, en caso de haber varios hosts, se
debe seguir probando con el siguiente criterio, y este ya, por fin, es
el parametro ServerName, de modo que aquel host virtual que coincida con
el valor del ServerName será el seleccionado.
El
último criterio para desempatar, caso de que no se haya podido decidir
todavía que host virtual atiende la petición, sera el nombre del fichero
de configuración del host virtual en orden alfabético descendente.
No
obstante, puede suceder que, mientras se está seleccionando el host
virtual, aparte del caso en que exista uno o varios host virtuales que
cumplen el criterio, también puede ocurrir el caso de que no exista
ninguno. En este caso se pasa al criterio siguiente, es decir, si se
trata de la IP se pasará al puerto, y si se trata del puerto se pasará
al ServerName y finalmente si no hay mas remedio al nombre del fichero
de configuración.
No hay comentarios:
Publicar un comentario