Le varie tecnologie che entrano in un sito web

Internet è incredibile, penso che possiamo essere tutti d'accordo su questo. Ma ti sei mai seduto e hai pensato a come diavolo un sito web possa davvero arrivare al tuo computer?

Internet è incredibile, penso che possiamo essere tutti d'accordo su questo.  Ma ti sei mai seduto e hai pensato a come diavolo un sito web possa davvero arrivare al tuo computer?
Annuncio pubblicitario

Internet è incredibile, penso che possiamo essere tutti d'accordo su questo. Ma ti sei mai seduto e hai pensato a come diavolo un sito web possa davvero arrivare al tuo computer? Quali tecnologie ci sono dietro MakeUseOf, per esempio? È molto più di una semplice raccolta di file e immagini HTML.

Continuate a leggere per scoprire esattamente cosa va in esecuzione, hosting e servizio di un sito web per il vostro consumo, cari lettori.

Hardware

Iniziamo dal componente di base dell'hosting di un sito Web: l'hardware. In sostanza, le macchine utilizzate per ospitare un sito Web non sono affatto diverse dai PC desktop che tu o io abbiamo a casa. Hanno più memoria, unità di backup e spesso connessioni di rete in fibra ottica, ma sostanzialmente sono uguali. In effetti, qualsiasi vecchia macchina può ospitare un sito Web - è solo il caso di quanto velocemente sarà in grado di inviare pagine agli utenti.

Puoi leggere di più qui sui vari tipi di hosting Le varie forme di hosting di siti web spiegate [Tecnologia spiegata] Le varie forme di hosting di siti web spiegate [Tecnologia spiegata] Leggi di più disponibili, da una singola macchina condivisa tra migliaia di siti web ciascuno pagando $ 5 / mese, a un server dedicato completo in grado di eseguire qualcosa come MakeUseOf - che costa migliaia di dollari al mese .

tecnologie per lo sviluppo di siti Web

Sistema operativo

La maggior parte delle macchine webserver ha un sapore ottimizzato di Linux, anche se esiste un buon numero di server che eseguono Windows, generalmente in ambienti aziendali in cui le applicazioni Web sono costruite su ASP o dotNet. A partire da gennaio di quest'anno, la più famosa distro Linux di scelta per il web hosting è Debian, seguita da vicino da CentOS (basato su RedHat), entrambi liberamente disponibili per il download e da provare personalmente - e ciascuno ha detto di ospitare circa il 30% di tutti siti web. Google gestisce ovviamente il suo Linux personalizzato, oltre al proprio filesystem personalizzato.

Software del server Web

È qui che le cose cominciano davvero a differenziarsi. Il software server web è l'applicazione che riceve le richieste in arrivo e serve le pagine oi file. Il software del server web in sé è in gran parte indifferente alla lingua della pagina Web che sta servendo - un server Apache è in grado di servire Python, PHP, Ruby o un numero qualsiasi di lingue diverse; ma questo non è universale. La quota di mercato attuale indica che Apache copre circa il 65% dei siti Web principali, Microsoft IIS 15% e nginx il 10%. nginx è considerato migliore nella gestione di siti ad alta concorrenza, ovvero in cui molte migliaia di utenti possono trovarsi sul sito contemporaneamente, e in effetti viene utilizzato qui su MakeUseOf.

tecnologie per il sito web

Quando si carica un sito Web, si apre un socket, una connessione, tra il computer e il server del sito web. Una danza elaborata e lunga per la melodia HTTP inizia quindi con l'andirivieni di richieste, dati e codici di stato. Come richiesto questa pagina, il nostro server ha risposto con un 200 - OK, che significa "certo, ecco qua" ; se hai visitato prima, il tuo browser potrebbe anche chiedere "hey, ho già una copia di questo grafico nella cache del mio browser, ne ho davvero bisogno?", a cui il nostro server ha risposto 304 - Non modificato, o "no, è bello, non lo abbiamo cambiato o altro, basta usare quello " .

Occasionalmente, troverai il temuto 404 - non trovato, ma non ho bisogno di spiegarti quel codice di errore. Se hai mai aperto Firebug Guida amatoriale per personalizzare il design del sito web con FireBug Guida amatoriale per personalizzare il design del sito web Con FireBug Read More o la modalità sviluppatore del tuo browser, rimarrai stupito nel vedere quanta parte avanti e indietro continua - non è un semplice "dammi quella pagina" - "OK, qui", ma in realtà centinaia di interazioni più piccole.

tecnologie per il sito web

File statici e reti di distribuzione del contenuto

Su tutti i siti web ci sono alcuni file che non cambiano quasi mai. Cose come Javascripts, CSS, immagini, PDF o mp3. Questi sono chiamati file statici e per servirli, il software server web deve semplicemente prendere il file e inviarlo. Facile, giusto? Non così in fretta.

Sfortunatamente, l'invio di un numero elevato di file statici è un'operazione piuttosto laboriosa a causa delle dimensioni dei file. Se hai mai visitato una pagina web in cui puoi effettivamente sederti guardando le immagini caricate, è perché il server web sta recuperando quei file per te stesso - semplicemente non sono ottimizzati per fare quel tipo di lavoro. Invece, siti Web di grandi dimensioni scaricano tutti questi file statici in quella che viene chiamata Content Delivery Network : server separati che sono ottimizzati per servire file statici ridicolmente veloci in un batter d'occhio.

Raggiungono anche questo individuando fisicamente server in posizioni diverse in tutto il mondo che si rispecchiano a vicenda, quindi i dati hanno distanze di percorrenza molto inferiori. In questo momento, anche se l'articolo MakeUseOf che stai leggendo è effettivamente ospitato negli Stati Uniti, le immagini e Javascript provengono da un posto molto più vicino a te tramite un CDN locale.

Contenuto dinamico: linguaggi di programmazione Web

Quasi tutti i siti web moderni hanno contenuti dinamici di qualche tipo, sia che ciò significhi che WordPress aggiunga commenti a un post di un blog o che pubblichi i risultati di ricerca di Google. Per rendere dinamica una pagina web, sono necessari linguaggi di programmazione Web. Ho già scritto in precedenza sui vari linguaggi disponibili. Quale linguaggio di programmazione imparare - Programmazione Web Quale linguaggio di programmazione da imparare - Programmazione Web Oggi daremo un'occhiata ai vari linguaggi di programmazione Web che alimentano Internet. Questa è la quarta parte di una serie di programmazione per principianti. Nella parte 1, abbiamo appreso le basi di ... Leggi di più (e abbiamo avuto alcuni dibattiti accesi per suggerire che PHP fosse il migliore). Indipendentemente dalla lingua scelta, funziona in combinazione con il livello del server web server per generare dinamicamente il contenuto della pagina, quindi servirlo.

Banche dati

Dietro tutti i siti Web dinamici si trovano i database: enormi archivi per i dati grezzi che ci consentono di accedere a tali dati in vari modi. Per questo, è richiesto un linguaggio di programmazione del database separato, il più popolare è SQL (Structured Query Language) e sono molte varianti. I database contengono diverse tabelle di dati per rappresentare diverse strutture di dati: una potrebbe essere una lista di articoli; un altro per i commenti su tali articoli. Usando SQL, possiamo ordinare, combinare e presentare tali dati in una varietà di modi.

Ad esempio, in WordPress, un "post" comprende almeno un titolo e una data e probabilmente un contenuto reale. Una tabella separata viene utilizzata per memorizzare i commenti su quell'articolo, con ancora un'altra tabella per memorizzare un elenco di categorie, e poi un'altra per memorizzare un elenco di quali categorie sono state assegnate a quale articolo. Attraverso il riferimento incrociato e l'estrazione di dati da tutti questi elementi, WordPress raccoglie tutte le informazioni necessarie per una determinata pagina del tuo blog, prima di applicare il tema e presentarlo all'utente tramite il software del server web.

tecnologie per lo sviluppo di siti Web

Sistemi di caching

La pubblicazione di file HTML statici è piuttosto semplice in termini di computazione: il server deve solo recuperare il file: il contenuto dinamico richiede molto lavoro per mettere insieme la pagina, con il database e l'elaborazione che si verifica su quei dati . Un sistema di memorizzazione nella cache ci porta al punto di partenza, creando queste pagine dinamiche e quindi salvandole fondamentalmente come file HTML statici. Quando viene richiesta di nuovo la stessa pagina esatta, non è necessario ricalcolarla, accelerando così il sito.

Il caching è un termine generico che può significare molte cose - i CDN sono un tipo di cache; ci sono anche cache di database per le domande più frequenti (pensa a WordPress chiedendo al database il titolo del tuo blog ogni volta che qualcuno guarda il tuo post - perché in realtà è quello che succede). Ho scritto prima su come impostare il popolare sistema W3 Total Cache per WordPress Come configurare le varie impostazioni del plugin W3 Total Cache per il tuo blog Wordpress Come configurare le varie impostazioni del plugin W3 Total Cache per il tuo blog Wordpress Qualche tempo fa ho parlato del i benefici dell'installazione del plugin W3TC sul tuo blog Wordpress per accelerarlo con vari caching, ma alcuni lettori erano comprensibilmente un po 'cauti riguardo a ... Read More, usato anche qui su MakeUseOf. Anche il browser ha una cache Tutto quello che c'è da sapere sulla cache del browser [MakeUseOf Explains] Tutto quello che c'è da sapere sulla cache del browser [MakeUseOf Explains] Ogni volta che si verifica un problema con un sito Web, uno dei primi suggerimenti che si ascolteranno da Il supporto IT è "prova a svuotare la cache del browser" insieme a "ed elimina i cookie". Quindi cosa è ... Per saperne di più - praticamente tutto può essere memorizzato nella cache.

Quindi, come potete vedere, c'è in realtà una quantità enorme di lavoro e molte tecnologie coinvolte con l'hosting di un sito web. Tuttavia, questo non vuol dire che non puoi avere il tuo blog impostato e funzionante in meno di un'ora. Lo scaling a molte migliaia di utenti è dove iniziano i problemi.

Qualsiasi domanda? Chiedi via, e farò del mio meglio per rispondere. Sei sorpreso da quanto sforzo può andare in un sito web?

Credito immagine: Shutterstock, sala server di rete; Netcraft, grafico della condivisione webserver; Shutterstock, database; Justin Pot / Technophilia, INTERNETZ

In this article