Cliquez sur le lien. La page apparaîtra. Mais regardez attentivement la barre d’adresse.
.htm. .html. .shtml. .asp. .php. .cgi. .pl.
Ces extensions ne sont pas aléatoires. Ce sont des empreintes digitales. Ils montrent exactement comment le serveur derrière l’écran a construit la page avant qu’elle n’atteigne les yeux de l’utilisateur.
La plupart des utilisateurs l’ignorent. Vous ne devriez pas. Comprendre ces différences peut révéler comment le réseau fonctionne réellement en coulisses. Cela explique pourquoi certains sites Web se chargent rapidement tandis que d’autres se bloquent. Il explique les vulnérabilités de sécurité. Cela explique pourquoi les développeurs Microsoft et Linux se livrent une guerre silencieuse depuis des décennies.
C’est ce que signifient réellement ces lettres.
La division Htm vs Html
Au début du World Wide Web, tout fonctionnait sous UNIX. UNIX aime les noms de fichiers longs. Il adorait .html. C’est la norme. Statique. Simple.
Puis est arrivé le PC. À faire. Fenêtres.
Ces systèmes suivent les conventions de dénomination 8.3. Le nom comporte 8 caractères. 3 pour la prolongation. .html comporte 4 caractères. C’est trop long. Le système s’est étouffé.
Alors le web s’est adapté. Il reste deux extensions : .html et .htm.
Dans le passé, vous pouviez distinguer les serveurs UNIX et Windows simplement en regardant leurs extensions de fichiers. Ces jours sont révolus.
Aujourd’hui, cette différence est insignifiante. Les sites fonctionnant sur des serveurs UNIX peuvent utiliser .htm. Les serveurs Windows peuvent fournir .html. C’est purement le choix du Webmaster.
Par exemple, HowStuffWorks fonctionne sous UNIX et utilise « .htm ». Pourquoi? Parce que c’est le webmaster qui l’a choisi. Le contenu est statique. Le fichier est sur le disque. Le serveur l’attrape. Envoyez-le tel quel à votre navigateur. Aucun traitement. Aucune réflexion. Lisez simplement.
Shtml : Préprocesseur
.shtml est similaire à .html mais fonctionne différemment.
s signifie Server Side Include (SSI).
Le serveur ne fait rien pour les pages .htm ou .html normales. Il extrait le fichier. Il l’envoie.
.shtml suspend le serveur. Vérifiez les fichiers pour les identifiants spéciaux. Cela les a trouvés. il les exécute.
Imaginez un site Web avec un en-tête et un pied de page sur chaque page.
Si vous souhaitez modifier le logo, vous devez modifier chaque fichier statique. Des milliers de fichiers.
Utilisez SSI pour enregistrer l’en-tête dans un fichier. La page .shtml contient des balises similaires à . Lorsque l’utilisateur demande une page, le serveur récupère la page, ajoute le code d’en-tête et puis envoie le résultat.
Cela facilite la mise à jour de l’ensemble du site. Modifiez le fichier d’en-tête. Toutes les pages contenant SSI seront mises à jour immédiatement. C’est une astuce simple. Cependant, vous pouvez constater qu’en plus du stockage, le serveur fonctionne également.
Asp : la bête flexible de Microsoft
.asp signifie Active Server Pages.
C’est la réponse de Microsoft au contenu dynamique. Fonctionne sur un serveur Windows. Cela permet aux développeurs d’intégrer Visual Basic Scripting Edition (VBScript) ou JScript directement dans HTML.
Le serveur reconnaît .asp. Je sais que je dois exécuter le code avant d’envoyer quoi que ce soit au client.
Ce code peut lire la base de données. Vous pouvez vérifier votre nom d’utilisateur. Vous pouvez formater le contenu en fonction de l’utilisateur connecté. Vous bénéficiez d’une grande flexibilité.
Mais cela a un prix.
Il y a une erreur dans votre code. Si le VBScript plante, la page échoue. Le serveur a renvoyé une erreur. Les utilisateurs verront une page cassée. Avec le HTML statique, cela n’arrive jamais. Les fichiers statiques ne peuvent pas être « détruits ».
Avec la liberté vient la responsabilité. Les pages ASP sont puissantes. Il est également fragile.
Php, Jsp, Perl : les challengers open source
Microsoft n’est pas seul. Le reste du réseau a construit ses propres outils.
.php est le remplacement ASP le plus populaire.
Autrefois, c’était l’abréviation de « page d’accueil personnelle ». Représente actuellement uniquement PHP. Il s’agit d’un langage de script conçu pour être intégré au HTML. Cela fonctionne principalement sur les serveurs Linux. C’est open source. C’est gratuit.
.jsp signifie JavaServer Pages. C’est la réponse de Java à ASP. Le code intégré est Java. Fonctionne sur un serveur compatible Java. C’est lourd. Le démarrage est lent. Mais c’est corrigé. Il est utilisé par les grandes entreprises où la stabilité est plus importante que la rapidité.
.pl signifie PERL.
PERL est un ancien langage de script. Il est célèbre pour son traitement de texte. Les fichiers .pl sont généralement des scripts qui créent des pages de manière dynamique. Vous pouvez faire tout ce que vous pouvez faire avec ASP. C’est puissant. Il est également connu pour être difficile à lire. La syntaxe est dense. Le code ressemble à un chat marchant sur le clavier.
Cgi : Caractère générique
« .cgi » signifie Common Gateway Interface.
Ce n’est pas une langue. C’est un protocole.
Les fichiers .cgi peuvent être créés en utilisant C++. Il est également possible d’écrire au format PERL. Il est également possible de l’écrire en Python. Il peut être créé en utilisant presque tout ce qui peut être compilé ou exécuté sur un serveur.
Le serveur a détecté une requête .cgi. Exécutez le fichier exécutable. L’exécutable génère le HTML. Le serveur envoie ce HTML au client.
Sur HowStuffWorks, certains fichiers .cgi sont en fait du code C++ compilé. C’est très rapide. La complexité est élevée.
Pourquoi devriez-vous vous en soucier ?
La plupart des utilisateurs s’en moquent. Ils veulent juste que la page se charge.
Cependant, comprendre ces extensions peut vous aider à comprendre l’architecture d’Internet.
Les pages statiques (.htm, .html ) sont sécurisées. ils sont rapides. Les coûts d’hébergement sont faibles.
Les pages dynamiques (.asp, .php, .jsp, .cgi ) sont très flexibles. Ceux-ci interagissent avec la base de données. Personnalisez votre contenu. Ils sont vulnérables aux attaques par injection.
Si vous voyez « .shtml », vous savez que votre site utilise des inclusions côté serveur. Il peut s’agir d’un grand site Web comportant de nombreuses pages.
Si vous voyez « .php », vous savez que le site fonctionne peut-être sous Linux. Il peut s’agir d’un logiciel open source.
Si vous regardez .asp, vous verrez qu’il s’agit probablement de la boutique Microsoft.
Le réseau n’est pas un monolithe. C’est un patchwork de technologies. L’extension est une couture.
La prochaine fois que vous cliquerez sur un lien, regardez la fin.
Que nous dit cette extension sur la machine qui attend de l’autre côté ?
Rien n’est sûr. Internet brouille ces frontières. Un serveur Linux peut servir .htm. Les serveurs Windows peuvent fournir .php.
Les extensions concernent désormais moins le système d’exploitation. Ils dépendent de la préférence du développeur.
Cette technologie existe toujours. Il y a quand même une logique.
Mais le signal s’estompe. Nous nous efforçons d’obtenir une livraison dynamique quel que soit le nom du fichier. Ces différences deviennent des reliques historiques.