Perché questo URL con punti precedenti eccessivi si risolve in un indirizzo IP?


31

http://.................1168951531

Che, quando messo in Chrome, visualizza l'URL http://69.172.200.235/, che reindirizza (tramite un codice di risposta del server esterno 3XX) www.test.com, ma che è al di fuori dell'ambito di ciò che sto cercando di capire.

In che modo un URL così strano come sopra si risolve in un indirizzo IP? È una regola di formattazione?


2
Si noti che lo stesso URL senza i puntini funziona anche in Chrome: http://1168951531. Ma questo fa sorgere la domanda: perché Chrome ignora i punti?
wjandrea,

6
@wjandrea Immagino che Chrome li interpreti come sottodomini e in realtà non li ignora. Puoi verificarlo visualizzando l'header Host della richiesta inviata da Chrome.
Christoph

1
Un po 'tangente, ma gli indirizzi di Gmail ti consentono di aggiungere tutti i punti che vuoi, senza causare problemi, e anche un + con qualsiasi testo dopo che vuoi. Quindi abcd@gmail.comriceverà anche la posta inviata a a.b.c.d@gmail.como abcd+junkmail@gmail.com- e un vantaggio sta nel fornire e-mail diverse a siti diversi per vedere chi ti sta inserendo negli elenchi di spam o impostare regole per gestire la posta in arrivo in modi diversi a seconda dell'indirizzo "A". ( Altro ) Oppure, kylesmom@gmail.com ora è kylesmom + is.a.big.fa ...
ashleedawg

Per quello che vale, la combinazione di Firefox e calamari non lo consente; Firefox passa i punti in modo chiaro e con errori di calamari perché ha un formato URL non valido. Quindi questo sembra un bug di Chrome, o forse le specifiche relative ai domini vuoti sono ambigue?
Paul Gear,

Risposte:


44

Chrome sta interpretando il numero 1168951531 come un numero decimale, che quando rappresentato in esadecimale è 45ACC8EB. 45ACC8EB in esadecimale è uguale al decimale puntato 69.172.200.235, quando si prende ogni coppia di cifre esadecimali come un numero decimale.

45 -> 69
AC -> 172
C8 -> 200
EB -> 235

Risposta breve: è la pura rappresentazione decimale dello stesso indirizzo IP.


4
Anche Firefox fa l'interpretazione (senza i punti), ma non Edge.
JAB

11
Il codice sorgente tipico per risolvere un nome host è innanzitutto verificare se si tratta di un indirizzo IP (ad es. Con inet_addr()) e, in caso contrario, passarlo a una funzione come gethostname()quella che interroga i server DNS (e legge il hostsfile). Il passaggio di una rappresentazione decimale dell'indirizzo IP, come spiegato nella risposta sopra, è perfettamente legale nella maggior parte delle implementazioni. Posso digitare ping 1168951531un terminale e in realtà esegue il ping dell'indirizzo previsto. Diventa più strano con tutti i punti davanti, ma probabilmente Chrome li sta rimuovendo prima di tentare la risoluzione.
Ale

1
Vale la pena notare che sia Chrome che Firefox accettano l'URL senza punti. ( http://1168951531)
Stevoisiak,

3

Questa è una lunga rappresentazione di un indirizzo ipv4 dell'ip 69.172.200.235. Che mappa al dominio www.test.com.


4
Puoi spiegare cos'è una "lunga rappresentazione"?
Philipp

2
È meglio spiegato dall'altra risposta, ma si riduce ancora alla stessa cosa.
Gothrek,

9
Probabilmente dovrebbe essere " longrappresentazione"
n.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.