Fare clic sul collegamento. Apparirà la pagina. Ma guarda attentamente la barra degli indirizzi.
.htm. .html. .shtml. .asp. .php. .cgi. .pl.
Queste estensioni non sono casuali. Sono impronte digitali. Mostrano esattamente come il server dietro lo schermo ha costruito la pagina prima che raggiunga gli occhi dell’utente.
La maggior parte degli utenti lo ignora. Non dovresti. Comprendere queste differenze può rivelare come funziona realmente la rete dietro le quinte. Questo spiega perché alcuni siti Web si caricano rapidamente mentre altri si bloccano. Spiega le vulnerabilità della sicurezza. Questo spiega perché gli sviluppatori Microsoft e Linux combattono da decenni una guerra silenziosa.
Questo è ciò che realmente significano queste lettere.
La divisione tra Htm e Html
Agli albori del World Wide Web, tutto funzionava su UNIX. A UNIX piacciono i nomi di file lunghi. Amava .html. Questa è la norma. Statico. Semplice.
Poi è arrivato il PC. Cosa fare. Finestre.
Questi sistemi seguono le convenzioni di denominazione 8.3. Il nome è lungo 8 caratteri. 3 per l’estensione. “.html” è lungo 4 caratteri. È troppo lungo. Il sistema è soffocato.
Quindi il web si è adattato. Rimangono due estensioni: .html e .htm.
In passato, era possibile distinguere i server UNIX da quelli Windows semplicemente osservando le estensioni dei file. Quei giorni sono finiti.
Oggi questa differenza è insignificante. I siti in esecuzione su server UNIX possono utilizzare “.htm”. I server Windows possono fornire .html. Questa è puramente la scelta del Webmaster.
Ad esempio, HowStuffWorks funziona su UNIX e utilizza .htm. Perché? Perché il webmaster lo ha scelto. Il contenuto è statico. Il file è su disco. Il server lo rileva. Invialo al tuo browser così com’è. Nessuna elaborazione. Nessun pensiero. Basta leggere.
Shtml: preprocessore
.shtml è simile a .html ma funziona in modo diverso.
“s” sta per Server Side Include (SSI).
Il server non fa nulla per le normali pagine .htm o .html. Estrae il file. Lo invia.
.shtml sospende il server. Controlla i file per identificatori speciali. Li ha trovati. li esegue.
Immagina un sito web con un’intestazione e un piè di pagina su ogni pagina.
Se vuoi cambiare il logo, devi modificare ogni file statico. Migliaia di file.
Utilizzare SSI per salvare l’intestazione in un file. La pagina .shtml contiene tag simili a . Quando l’utente richiede una pagina, il server recupera la pagina, aggiunge il codice dell’intestazione e quindi invia il risultato.
Ciò semplifica l’aggiornamento dell’intero sito. Modifica il file di intestazione. Tutte le pagine contenenti SSI verranno aggiornate immediatamente. Questo è un trucco semplice. Tuttavia, puoi vedere che oltre allo spazio di archiviazione, funziona anche il server.
Asp: la bestia flessibile di Microsoft
.asp sta per Pagine server attive.
Questa è la risposta di Microsoft al contenuto dinamico. Funziona su un server Windows. Ciò consente agli sviluppatori di incorporare Visual Basic Scripting Edition (VBScript) o JScript direttamente in HTML.
Il server riconosce “.asp”. So che devo eseguire il codice prima di inviare qualsiasi cosa al cliente.
Questo codice può leggere il database. Puoi controllare il tuo nome utente. È possibile formattare il contenuto in base all’utente che ha effettuato l’accesso. Ottieni molta flessibilità.
Ma questo ha un prezzo.
C’è un errore nel tuo codice. Se VBScript si blocca, la pagina fallisce. Il server ha restituito un errore. Gli utenti vedranno una pagina interrotta. Con l’HTML statico, questo non accade mai. I file statici non possono essere “distrutti”.
Con la libertà arriva la responsabilità. Le pagine ASP sono potenti. È anche fragile.
Php, Jsp, Perl: sfidanti open source
Microsoft non è sola. Il resto della rete ha creato i propri strumenti.
.php è il sostituto ASP più popolare.
Era l’abbreviazione di “home page personale”. Attualmente rappresenta solo PHP. Si tratta di un linguaggio di scripting progettato per essere incorporato nell’HTML. Funziona principalmente su server Linux. È open source. È gratuito.
.jsp sta per Pagine JavaServer. Questa è la risposta di Java ad ASP. Il codice da incorporare è Java. Funziona su un server compatibile con Java. È pesante. L’avvio è lento. Ma è fisso. Viene utilizzato dalle grandi aziende dove la stabilità è più importante della velocità.
“.pl” sta per PERL.
PERL è un vecchio linguaggio di scripting. È famoso per la sua elaborazione del testo. I file “.pl” sono in genere script che creano pagine in modo dinamico. Puoi fare tutto ciò che puoi fare con ASP. È potente. È noto anche per essere difficile da leggere. La sintassi è densa. Il codice sembra un gatto che cammina sulla tastiera.
Cgi: carattere jolly
“.cgi” sta per Common Gateway Interface.
Questa non è una lingua. È un protocollo.
I file .cgi possono essere creati utilizzando C++. È anche possibile scrivere in formato PERL. È anche possibile scriverlo in Python. Può essere creato utilizzando quasi tutto ciò che può essere compilato o eseguito su un server.
Il server ha rilevato una richiesta “.cgi”. Esegui il file eseguibile. L’eseguibile genera l’HTML. Il server invia questo HTML al client.
Su HowStuffWorks, alcuni file .cgi sono in realtà codice C++ compilato. È molto veloce. La complessità è elevata.
Perché dovrebbe interessarti?
Alla maggior parte degli utenti non interessa. Vogliono solo che la pagina venga caricata.
Tuttavia, comprendere queste estensioni può aiutarti a comprendere l’architettura di Internet.
Le pagine statiche (.htm, .html ) sono sicure. sono veloci. I costi di hosting sono bassi.
Le pagine dinamiche (.asp, .php, .jsp, .cgi ) sono molto flessibili. Questi interagiscono con il database. Personalizza i tuoi contenuti. Sono vulnerabili agli attacchi di iniezione.
Se vedi “.shtml”, sai che il tuo sito utilizza inclusioni lato server. Può essere un sito Web di grandi dimensioni con molte pagine.
Se vedi “.php”, sai che il sito potrebbe essere in esecuzione su Linux. Può essere un software open source.
Se guardi .asp, vedrai che probabilmente è il negozio Microsoft.
La rete non è un monolite. È un mosaico di tecnologie. L’estensione è una cucitura.
La prossima volta che fai clic su un collegamento, guarda la fine.
Cosa ci dice questa estensione sulla macchina che aspetta dall’altra parte?
Niente è certo. Internet sfuma questi confini. Un server Linux può servire .htm. I server Windows possono fornire .php.
Le estensioni ora riguardano meno il sistema operativo. Riguardano le preferenze dello sviluppatore.
Quella tecnologia esiste ancora. C’è ancora una logica.
Ma il segnale svanisce. Puntiamo alla consegna dinamica indipendentemente dal nome del file. Queste differenze stanno diventando reliquie storiche.