Si ingreso una IP para un sitio web en lugar del formulario de cadena, ¿mi servidor DNS local comprende esto y omitiré el proceso de DNS? [duplicar]


12

Esto es puramente por curiosidad. Pero si tuviera que escribir la IP de un sitio web, ¿la solicitud aún pasaría por el proceso de búsqueda directa? Si no, ¿en qué punto y en qué paso se da cuenta de que esta es la ubicación por IP y no un nombre de host como una cadena?

Además, ¿cómo se registraría esto en mi hostfile? Si pasa por todo el proceso de búsqueda, ¿el archivo de host contendrá el nombre de host de la cadena así como la IP y se completará localmente?


1
Sistema de nombres de dominio, esto es lo que traduce una url (google.com) en la dirección IP, por lo que si usa una dirección IP no tiene que buscar nombres, sin pasar por el sistema DNS. en.wikipedia.org/wiki/Domain_Name_System
Moab

Las respuestas a continuación son correctas, los navegadores son lo suficientemente inteligentes como para no hacer una búsqueda directa de una dirección IP. Hacer una búsqueda directa de una dirección IP nunca es una buena idea, hay 3 formas en que un servidor DNS puede reaccionar: 1) La mayoría de los servidores DNS simplemente devolverán la misma dirección IP. 2) Otros servidores DNS no pueden resolver el "nombre DNS" a una IP y se lo indicarán. 3) Algunos servidores DNS (gratuitos) no pueden resolver el "nombre DNS" y proporcionarle una IP que lo redirige a su propia página de búsqueda (generalmente llena de anuncios).
user1793963

1
El nombre de dominio es necesario si el servidor web aloja varios sitios. Tiene una sola IP y sin nombre de dominio no puede entender qué sitio desea. Si solo hay un sitio web, funcionará con IP de la misma manera.
i486

1
Tenga en cuenta que el nombre de host no solo se envía al DNS para su traducción, sino también al servidor web en sí. Esto significa que un servidor web que sirve a varios sitios web no puede saber cuál de esos sitios desea. Esto, por supuesto, es un problema de IPv4; Con IPv6, cada sitio web puede tener su propia dirección IP.
MSalters

1
Ahora, la siguiente pregunta es: ¿cómo sabe un navegador que 2001:feed:face:dead::beef:8080es una dirección IPv6 con un puerto especificado y no solo una URL con un formato realmente incorrecto ...;)
Mark Henderson,

Respuestas:


15

Si utiliza una dirección IP, el sistema operativo sabrá que es una dirección IP de inmediato y no realizará una búsqueda directa.

Cuando realiza una solicitud HTTP, el primer paso es obtener la dirección IP del destino, para que el navegador pueda comunicarse con el servidor. Para la comunicación con el servidor, todo sucede a través de IP, desde la dirección IP a la dirección IP, por lo que el nombre del servidor no es necesario para esta comunicación. Sin embargo, se pasa en los encabezados HTTP como un Host:encabezado para que el servidor web sepa qué sitio web está buscando, si aloja varios sitios.

En el caso de acceder por dirección IP, esto no sucede y se presenta el sitio predeterminado.

Su hostsarchivo es un archivo estático, no cambia por ninguna acción que realice, excepto si lo edita directamente (o tiene scripts o aplicaciones que lo modifican).


2
Además, vale la pena señalar que si ingresa la dirección IP en un navegador como Chrome, puede hacer una búsqueda en Google antes de simplemente cargar el sitio.
sventechie

1
Tenga en cuenta que la vinculación interna de los objetos individuales que componen la página probablemente se realice mediante FQDN, por lo que, si bien la solicitud raíz se ejecutará sin la búsqueda de DNS, es casi seguro que DNS resuelva cada imagen, hoja de estilo, archivo de script, etc. solicite cuando su navegador intente representar la página raíz y descargue todos los recursos secundarios ..
Frank Thomas

2
@FrankThomas En la mayoría de los casos, donde el activo está en el mismo servidor, los activos son referenciados por URL relativas y, por lo tanto, se accederá a ellos a través del mismo método que la solicitud original, a través de IP. La excepción a esto sería donde base_href se usa en los encabezados, y así dicta el host que deben usar las URL relativas. Si se usa un FQDN, entonces sí, se acabó el juego.
Paul

In the case of accessing by IP address, this does not happen, and the default site is presented.Es mucho más probable que reciba una página de error.
Usuario112638726

@sventechie ¿En serio? ¿Alguna idea de por qué haría eso? Como, ¿cuál es el valor de eso?
Athoxx

3

Como otros han escrito, al usar una dirección IP, de hecho, está omitiendo el DNS que permite acceder, por ejemplo, a sitios de desarrollo sin un nombre de host.

Agregar un nombre de host simulado IP en / etc / hosts es extremadamente común nuevamente para los sitios de desarrollo. A diferencia de usar la dirección IP directamente, esto a) seguirá omitiendo DNS b) hará que el navegador agregue el Hostencabezado de la solicitud a la solicitud HTTP permitiendo, por ejemplo, hosts virtuales en un servidor local.


Vale la pena señalar que si, por alguna razón, la dirección IP se actualiza, el archivo HOSTS no se actualiza junto con él, lo que puede provocar un comportamiento inesperado y un sitio que parece que ya no funciona. Mirar el archivo de hosts es una de las últimas cosas que la gente hace para solucionar un problema y puede pasarse por alto por completo.
LPChip

@LPChip fair, pero tenga en cuenta que he enfatizado varias veces que esto es más un desarrollador, una práctica local que cualquier otra cosa.
chx
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.