it-swarm-eu.dev

Cosa succede esattamente quando navighi in un sito web nel tuo browser?

Cosa succede dietro le quinte quando scriviamo www.cnn.com in un browser e come vengono visualizzate le informazioni sullo schermo?

Una spiegazione tecnica sarebbe molto apprezzata.

62
Rachel

Browser: "Ok, ho un utente che richiede questo indirizzo: www.cnn.com. Immagino che non ci siano barre o altro, questo è una richiesta diretta di una pagina principale.Non c'era nemmeno un protocollo o una porta definita, quindi presumo che sia HTTP e che passi alla porta 80 ... vabbè, prima le cose. questo www.cnn.com che si nasconde? "

DNS: "Giusto ... aspetta un secondo, chiederò ai server dell'ISP. Ok, sembra 157.166.226.25."

Browser: "Ok. Internet Protocol Suite, il tuo turno! Chiama il 157.166.226.25, per favore, invia loro questa intestazione HTTP, chiede la struttura di base e contenuto della loro pagina principale, quindi so cos'altro da ottenere ... oh, beh, non che ti interessi di questo, immagino. "

TCP/IP: "Cosa intendi il mio turno ? Come se non stavo solo lavorando di nuovo lì per il DNS? Dio, cosa serve per ottenere un po 'di apprezzamento qui ... "

Browser: ...

TCP/IP: "Sì, sì ... Connessione ... Chiederò al gateway di inoltrarlo. Sai, non è t così facile, dovrò dividere la tua bella richiesta in più parti in modo che raggiunga la fine, e assemblare tutte le cose che rimandano da tutte le migliaia di pacchetti che ottengo ... ah, giusto, non lo fai cura.

Nel frattempo, nel quartier generale della CNN, un messaggio finisce alla porta del server Web.

CNN Web Server: "Nzhôô! Un cliente! Vuole notizie! La prima pagina! Che ne dici?"

Motore di script lato server CNN: "Giusto, lo farò! Front page, giusto?"

Server database CNN: "Yey! Lavora per me! Di quale contenuto hai bisogno?"

Motore di script lato server CNN: "... um, scusa DB, ho una copia della prima pagina qui nella mia cache, non c'è bisogno di compilare qualsiasi cosa, ma hey, prendi questo ID utente e memorizzalo, lo invierò anche al cliente, quindi sappiamo con chi stiamo parlando in seguito. "

Server database CNN: "Yey!"

Indietro sul computer dell'utente ...

TCP/IP: "Ooookay, ecco la risposta Oh ragazzo, perché ho la sensazione che questo sarà un grande ..."

Browser: "Uh, wow ... questo ha tutti i tipi di codice javascript ... grappolo di immagini, un paio di forme ... Giusto, questo Ci vorrà un po 'di tempo per renderizzare. È meglio che ci arrivi. Ehi, sistema IP, ci sono un sacco di altre cose che devi ottenere. Vediamo che ho bisogno di alcuni fogli di stile da i.cdn.turner.com - via HTTP e chiedere per il file /cnn/.element/css/2.0/common.css. E poi ottenere alcuni di questi script su i.cdn.turner.com, ne contiamo fino a sei finora ... "

TCP/IP: "Ho ricevuto l'immagine, dammi solo gli indirizzi del server e tutto il resto. E avvolgo quel file all'interno della richiesta HTTP, io indosso voglio occuparmene. "

DNS: "Controllo di i.cdn.turner.com ... hey, bit of trivia, in realtà si chiama cdn.cnn.com.c. footprint.net IP è 4.23.41.126 "

Browser: "Certo, certo ... aspetta un secondo, ci vorranno alcuni nsec per processare, sto cercando di capire tutto questo script ..."

TCP/IP: "Ehi, ecco il CSS che hai chiesto. Oh, e ... sì, anche quegli script aggiuntivi sono appena tornati."

Browser: "Wow, c'è di più ... una sorta di annuncio video!"

TCP/IP: "Oh ragazzo, che divertimento sembra ..."

Browser: "C'è anche un sacco di immagini! E questo CSS sembra un po 'brutto ... giusto, quindi se quella parte va lì, e ha questo linea in alto ... come diavolo sarebbe più adatto ... no, dovrò allungare un po 'per farlo ... Oh, ma quell'altro file CSS ha la precedenza su quella regola ... Beh, questo uno non sarà un pezzo facile da rendere, questo è sicuro! "

TCP/IP: "Ok, ok, smettila di distrarmi per un secondo, c'è ancora molto da fare qui."

Browser: "Utente, ecco un piccolo report sui progressi per te. Scusa, potrebbero essere necessari alcuni secondi, ci sono 140 elementi diversi da caricare, e andando fino alle 16 finora. "

Uno o due secondi dopo ...

TCP/IP: "Ok, dovrebbe essere tutto. Ehi, ascolta ... scusa se ti ho beccato prima, ci stai dirigendo? mi piace anche il carico per te. "

Browser: "Phew, sì, sono tutti questi siti web oggi, sicuramente non rendono tutto più semplice per te. per cosa sono qui. "

TCP/IP: "Suppongo che sia abbastanza pesante per tutti noi in questi giorni ... oh, smettila di gongolare lì DNS!"

Browser: "Ehi utente! Il sito è pronto - vai a prendere le tue notizie!"

131
Ilari Kajaste

Come funziona il web: spiegati HTTP e CGI

Anche una grande spiegazione del CERN - alma mater of Web: Come funziona il web

enter image description here

20
user12925
  • Il browser divide ciò che scrivi (l'URL) in un nome host e un percorso.
  • Il browser forma una richiesta HTTP per richiedere i dati nel nome host e nel percorso indicati.
  • Il browser esegue la ricerca DNS per risolvere il nome host in un indirizzo IP.
  • Il browser crea una connessione TCP/IP al computer specificato tramite l'indirizzo IP. (Questa connessione è in realtà formata da molti computer, ognuno dei quali trasmette i dati al successivo.)
  • Il browser invia la richiesta HTTP verso il basso la connessione al dato indirizzo IP.
  • Quel computer riceve la richiesta HTTP dalla connessione TCP/IP e la passa al programma del server web.
  • Il server Web legge il nome host e il percorso e trova o genera i dati richiesti.
  • Il server Web genera una risposta HTTP che contiene quei dati.
  • Il server Web invia la risposta HTTP indietro verso il basso la connessione TCP/IP al computer.
  • Il browser riceve la risposta HTTP e la divide in intestazioni (che descrivono i dati) e il corpo (i dati stessi).
  • Il browser interpreta i dati per decidere come visualizzarli nel browser, in genere si tratta di dati HTML che specificano tipi di informazioni e la loro forma generale.
  • Alcuni dati saranno metadati che specificano ulteriori risorse che devono essere caricate, come fogli di stile per il layout dettagliato o immagini in linea o filmati Flash. Questi metadati vengono nuovamente specificati come URL e l'intero processo si ripete per ciascuno finché non vengono caricati tutti.
18
Kylotan

Il primo passo è la ricerca DNS (Domain Name Server). Utilizza i server DNS specificati nelle impostazioni di rete (o forniti dal DHCP) per cercare il dominio principale (cnn.com) e quindi chiede al server dei nomi del dominio l'indirizzo IP del sottodominio specificato (www.cnn.com).

Dopo che ha l'indirizzo IP, il tuo browser inizia le comunicazioni con il web server. Questo viene fatto usando il protocollo specificato (che di solito si imposta su HTTP 1.1). Una richiesta 'GET' per '/' viene effettuata sul server, che risponde con il contenuto del documento HTML e le intestazioni appropriate (che indicano al browser il tipo di contenuto del documento, l'HTML e altre informazioni). Quindi il browser analizza il documento e trova gli URL che è necessario incorporare nella pagina (come immagini o fogli di stile collegati) e GET richiede su ciascuno di essi.

Di solito il browser effettua automaticamente una richiesta GET per "/favicon.ico" (per visualizzare la piccola icona CNN accanto al titolo del sito).

Il tuo browser probabilmente specificherà anche nelle intestazioni di richiesta che desidera che il contenuto della risposta sia compresso, usando l'algoritmo gzip. Questo rende il download del file molto più piccolo, se il server lo supporta. Tutto questo è trasparente per te, anche se è come scaricare un file Zip e decomprimerlo.

Quando ricarichi la pagina, il browser controlla se quella pagina è già presente nella cache del tuo sistema e, in caso affermativo, esegue una richiesta HTTP solo per l'intestazione del documento e ne controlla la data di modifica. Se questa data è successiva alla sua copia nella cache, richiede nuovamente il contenuto del documento completo e aggiorna la pagina. Altrimenti usa solo la tua copia locale.

12
wahnfrieden

Manca così lontano dalle altre risposte è ciò che accade sul lato della CNN:

  • Una macchina alla CNN riceve il messaggio dal tuo computer chiedendo la pagina.
  • Reindirizza questa richiesta a uno dei molti computer che CNN sta utilizzando per il suo sito Web (la ragione è che, in questo modo, è possibile diffondere il lavoro di mettere insieme le pagine Web di risposta su più computer)
  • Il computer CNN riceve la tua richiesta e risponde con una pagina web che è probabilmente quasi del tutto precalcolata, ma forse cambierà alcune cose prima di inviarti (potrebbe essere l'annuncio in alto, forse le notizie principali). A volte i computer assemblano la pagina da molti piccoli componenti ogni volta che ottengono una richiesta; non so cosa faccia la CNN
  • la risposta si fa strada attraverso la rete verso il tuo computer, che poi la visualizza.
  • la risposta non includeva le immagini: il tuo computer invia quindi un'altra richiesta per le immagini e praticamente accade lo stesso scenario.
8
redtuna

Questo ovviamente non è una spiegazione tecnica, ma è un aiuto visivo carino (dall'eccellente Vladstudio.com ) che può essere utile per alcuni:

How Internet Works

6
grautur

Le informazioni che hai appena chiesto potrebbero riempire un paio di dozzine di libri. Ma ecco il mio tentativo di spiegarlo: il tuo browser dice al tuo sistema operativo di trovare l'indirizzo IP di cnn.com. Quindi il sistema operativo chiede a un server DNS l'indirizzo IP per cnn.com. L'IP viene inviato al broswer che contatta l'indirizzo IP e richiede la pagina. cnn.com quindi ti manda e la pagina html. I browser analizzano l'html e inviano le informazioni al renderer HTML. Il browser indica al sistema operativo cosa visualizzare sullo schermo.

1
AyexeM

Jeff Moser ha avuto un'eccellente analisi tecnica di una richiesta HTTPS sul suo blog: I primi pochi millisecondi di una connessione HTTPS .

1
Igal Tabachnik

C'è un video molto bello del "Sendung mit der Maus" (un programma televisivo per bambini tedesco molto popolare che spiega la tecnologia per i bambini):

Die Sendung mit der Maus - Wie funktioniert das Internet (Come funziona Internet).

Solo in tedesco, sfortunatamente, ma anche divertente senza il testo. Gli uomini con caschi divertenti riproducono i pacchetti IP e i dati vengono scritti su schede cartacee. Classico :-).

A proposito, le spiegazioni sono in realtà abbastanza buone.

1
sleske