Cosa succede quando digiti un URL nel tuo browser e premi invio? [duplicare]


4

Possibile duplicato:
Cosa succede esattamente quando navighi su un sito web nel tuo browser.

... Descrivi tutto ciò che accade dal momento in cui premi invio, al momento in cui il tuo browser riceve una risposta.

Ho ricevuto questa domanda in un'intervista oggi. Non penso di aver risposto molto bene. Come descriveresti cosa succede? (in 10 minuti o meno).


1
domanda simile qui superuser.com/questions/31468/... con una meravigliosa risposta (29 voti)
outsideblasts

Risposte:


5

approssimativamente,

  1. Il browser risolve l'URI * su un indirizzo IP.
  2. Il browser invia una richiesta GET a quell'IP.
  3. Il server trova il file corretto.
  4. Il server elabora il file.
  5. Il file ti viene inviato.

* Risorsa uniforme Identifier


Come risolve l'indirizzo IP? Questa è la parte su cui mi sono soffermato. Deve interrogare un DNS? Dov'è il DNS? Il mio ISP ha un elenco di provider DNS come GoDaddy e simili o cosa?
mpen

Hai mai controllato le tue informazioni di rete, il tuo ISP ti da un server DNS predefinito, che richiedi di risolvere l'indirizzo IP.
Michael B.

Puoi anche utilizzare qualsiasi DNS che ti piace, non devi usare quello fornito dal tuo ISP. OpenDNS è un esempio.
Marcin

1
Con 10 minuti, probabilmente avrei approfondito il processo DNS. Nella peggiore delle ipotesi, si sta cercando un server root, quindi il name server TLD, quindi i name server per ogni sottodominio fino a quando l'intera cosa non viene risolta. Penso anche che valga la pena ricordare che se si tratta di un file HTML il browser farà un sacco di richieste HTTP GET per scaricare file immagine, script client, fogli di stile, ecc. Infine, il server non serve necessariamente un file statico e può essere gli script in esecuzione servono gli output memorizzati in cache degli script eseguiti in precedenza, ecc.
Shane

1

Vuoi che scriva qualcosa che richiederà circa 10 minuti per leggere? ... Questo database supporta questo?!.

... In ogni caso, per questo, è necessario comprendere alcune cose, in particolare le basi del protocollo HTTP e DNS.

Ognuno di questi passaggi sta omettendo varie informazioni poiché c'è solo così tanto che posso dire, quindi farò solo le basi - ma se vuoi sapere qualcosa in particolare, per favore dì e proverò a modificarlo.

Per prima cosa quando si digita l'indirizzo, il browser imposta una query DNS per l'indirizzo. (Questo farà una normale ricerca - cache, hostfile e poi server.)

Successivamente, il dns restituisce la risposta e il browser invia una richiesta http all'indirizzo IP del server, con l'intestazione host dell'indirizzo che stai cercando di raggiungere e varie altre intestazioni e informazioni.

Generalmente il server risponde con un flusso di testo e il browser lo visualizza.

Un buon strumento da usare per diagnosticare e sperimentare è fetch (su Linux) e WFetch (Su Windows).

In alternativa, se disponi di telnet disponibile (Windows Vista, 2008 e 7 richiedono di selezionarlo), puoi eseguire una simulazione di alcune fasi digitando quanto segue al prompt dei comandi (o terminale in Linux).

telnet google.com 80

GET /


Protocollo HTTP? I s / protocol // ;-) (O avresti dovuto dire "DNS system" per essere "consistente") Sì, I CNR, S.
Jürgen A. Erhard

No, stavo solo cercando di indicare che volevo una risposta abbastanza dettagliata in termini di complessità, non una panoramica approssimativa. Potrebbe essere in forma di punto :) Comunque ... Sì, faccio schifo alle interviste. Molti di questi dettagli lo sapevo, ma trascurato di dire: \
mpen
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.