Come fanno i server Web a sapere se si sta utilizzando l'accesso diretto agli indirizzi IP o no?
Di solito, semplicemente digitiamo l'indirizzo di un sito web che vogliamo visualizzare, ma un server web effettivamente "saprebbe" se invece usassimo l'indirizzo IP diretto? Il post di Q & A di SuperUser di oggi ha la risposta alla domanda di un lettore confuso.
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
Foto per gentile concessione di Cory M. Grenier (Flickr).
La domanda
Il lettore SuperUser Joseph A. vuole sapere come i server web possono capire se stai usando l'accesso diretto all'IP o no:
Alcuni server Web, quando si accede utilizzando il loro indirizzo IP, restituiscono un errore che non consente l'accesso diretto all'indirizzo IP. Mi sono chiesto da tempo come funziona.
Un browser risolve sempre l'indirizzo IP e si connette ad esso? L'accesso diretto agli indirizzi IP non fa altro che saltare il DNS, giusto? Come fa un server remoto a sapere che hai saltato il DNS?
Come fanno i server Web a sapere se si sta utilizzando l'accesso diretto all'indirizzo IP o meno?
La risposta
Il sostenitore di SuperUser iAdjunct ha la risposta per noi:
Per rispondere alla tua domanda su come lo sa, ha a che fare con ciò che il tuo browser invia al server web. Hai ragione che il sistema lo risolve sempre con un indirizzo IP, ma il browser invia l'URL a cui hai tentato di accedere nell'intestazione HTTP.
Ecco un'intestazione di esempio che ho trovato online, modificata per avere l'impressione che tu abbia usato Firefox su Windows e digitato apple.com nella barra degli indirizzi:
Ecco come apparirà l'intestazione se hai usato il suo indirizzo IP:
Entrambi saranno inviati allo stesso indirizzo IP su un socket, ma il browser comunica al server Web a cosa accede. Perché? Perché i server web con lo stesso indirizzo IP possono ospitare più siti Web e fornire pagine diverse per ciascuno. Non è in grado di distinguere chi vuole quale pagina per indirizzo IP perché tutti hanno lo stesso, ma può distinguerli per l'intestazione HTTP.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.