Les différentes technologies qui entrent dans un site Web

Les différentes technologies qui entrent dans un site Web / La technologie expliquée

Internet est incroyable, je pense que nous pouvons tous être d’accord sur ce point. Mais avez-vous déjà réfléchi à la manière dont un site Web parvient effectivement à votre ordinateur? Quelles sont les technologies derrière MakeUseOf, par exemple? C'est beaucoup plus qu'une simple collection de fichiers HTML et d'images.

Chers lecteurs, lisez ce qui suit pour savoir exactement ce qui se passe dans la gestion, l'hébergement et la création d'un site Web pour votre consommation..

Matériel

Commençons par le composant de base de l'hébergement d'un site Web - le matériel. Essentiellement, les machines utilisées pour héberger un site Web ne diffèrent pas vraiment des ordinateurs de bureau que vous ou moi avons à la maison. Ils disposent de davantage de mémoire, de lecteurs de sauvegarde et souvent de connexions réseau à fibres optiques, mais ils sont fondamentalement les mêmes. En fait, n'importe quelle vieille machine peut héberger un site Web - il ne s'agit que de la rapidité avec laquelle elle pourra envoyer des pages aux utilisateurs..

Vous pouvez en savoir plus ici sur les différents types d’hébergement Les différentes formes d’hébergement de sites Web expliquées [Technologie expliquée] Les différentes formes d’hébergement de sites Web expliquées [Technologie expliquée] Lire plus disponible, à partir d’une seule machine partagée entre des milliers de sites Web, chacune payant 5 $ / mois, sur un serveur dédié complet capable d'exécuter quelque chose comme MakeUseOf - qui coûte des milliers de dollars par mois.

Système opérateur

La plupart des machines de serveur Web utilisent une version optimisée de Linux - bien qu'il existe un bon nombre de serveurs exécutant Windows, généralement dans des environnements d'entreprise où les applications Web sont construites sur ASP ou dotNet. Depuis janvier de cette année, la distribution Linux la plus populaire pour l'hébergement Web est Debian, suivie de près par CentOS (basée sur RedHat), toutes deux librement disponibles pour que vous puissiez les télécharger et les essayer vous-même, et chacune d’elles héberge environ 30% du total. sites Internet. Bien entendu, Google exécute son propre Linux personnalisé, ainsi que son propre système de fichiers..

Logiciel serveur Web

C'est là que les choses commencent vraiment à se différencier. Le logiciel du serveur Web est l'application qui reçoit les demandes entrantes et sert les pages ou les fichiers. Le logiciel du serveur Web lui-même est en grande partie indifférent au langage de la page Web qu'il sert - un serveur Apache est tout à fait capable de servir Python, PHP, Ruby ou un grand nombre de langues différentes; mais ce n'est pas universel. La part de marché actuelle indique que Apache gère environ 65% des sites Web les plus performants, Microsoft IIS 15% et nginx 10%. nginx est considéré comme plus apte à gérer les sites à haute concurrence - c’est-à-dire où plusieurs milliers d’utilisateurs peuvent être sur le site à la fois - et est en fait utilisé ici par MakeUseOf..

Lorsque vous chargez un site Web, vous ouvrez un socket - une connexion - entre votre ordinateur et le serveur du site Web. Une danse élaborée et longue sur le morceau HTTP commence ensuite par le va-et-vient des demandes, des données et des codes d'état. Comme vous avez demandé cette page, notre serveur a répondu avec un message 200 - OK, sens “Bien sur, vas y”; si vous avez déjà visité le site, votre navigateur peut également vous demander “hé, j'ai déjà une copie de ce graphique dans la mémoire cache de mon navigateur, en ai-je vraiment besoin??”, à laquelle notre serveur a répondu 304 - Non modifié, ou “non, c'est cool, on ne l'a pas changé ou quoi que ce soit, il suffit d'utiliser celui-là”.

De temps en temps, vous trouverez le redouté 404 - non trouvé, mais je n'ai pas besoin de vous expliquer ce code d'erreur. Si vous avez déjà ouvert le guide de Firebug Amateur pour personnaliser la conception de site Web avec FireBug, le guide de Amateur de personnalisation de la conception de site Web avec FireBug Read More ou le mode développeur de votre navigateur, vous serez étonné de voir à quel point les allers et retours sont nombreux - ce n'est pas simple “donne moi cette page” - “OK ici”, mais en réalité des centaines d'interactions plus petites.

Fichiers statiques et réseaux de distribution de contenu

Sur tous les sites Web, certains fichiers ne changent presque jamais. Des choses comme Javascripts, CSS, images, PDF ou mp3. Ceux-ci s'appellent fichiers statiques, et pour vous les transmettre, le logiciel du serveur Web doit simplement saisir le fichier et l’envoyer. Facile, non? Pas si vite.

Malheureusement, l'envoi d'un grand nombre de fichiers statiques est une tâche fastidieuse en raison de la taille des fichiers. Si vous avez déjà visité une page Web sur laquelle vous pouvez réellement regarder le chargement des images, c'est parce que le serveur Web récupère ces fichiers pour vous-même - ils ne sont tout simplement pas optimisés pour ce type de travail. Au lieu de cela, les grands sites Web déchargent tous ces fichiers statiques sur ce qu'on appelle un Réseau de diffusion de contenu - Des serveurs distincts optimisés pour servir des fichiers statiques ridiculement rapidement en un clin d'œil.

Ils y parviennent également en localisant physiquement les serveurs dans différents endroits du monde se reproduisant les uns les autres, de sorte que les données se trouvent à moins de distance à parcourir. À l'heure actuelle, même si l'article MakeUseOf que vous lisez est actuellement hébergé aux États-Unis, les images et le code Javascript proviennent tous d'un endroit beaucoup plus proche de vous via un CDN local..

Contenu dynamique - Langages de programmation Web

Presque tous les sites modernes ont contenu dynamique que cela signifie que WordPress ajoute des commentaires à un article de blog ou que Google diffuse des résultats de recherche. Pour rendre une page Web dynamique, des langages de programmation Web sont nécessaires. J'ai déjà écrit sur les différents langages disponibles pour vous Quel langage de programmation apprendre - Programmation Web Quel langage de programmation apprendre - Programmation Web Aujourd'hui, nous allons examiner les différents langages de programmation Web qui alimentent Internet. Ceci est la quatrième partie d'une série de programmation pour débutants. Dans la partie 1, nous avons appris les bases de… Read More (et avons participé à des débats houleux pour suggérer que PHP était le meilleur). Quelle que soit la langue que vous choisissez, il fonctionne conjointement avec la couche logicielle du serveur Web pour générer d’abord dynamiquement le contenu de la page, puis vous le signifier..

Bases de données

Derrière tous les sites Web dynamiques se trouvent des bases de données - d’énormes magasins de données brutes qui nous permettent d’accéder à ces données de différentes manières. Pour cela, un langage de programmation de base de données distinct est requis, le plus populaire étant SQL (Structured Query Language) et ses nombreuses variantes. Les bases de données contiennent différentes tables de données pour représenter différentes structures de données, par exemple une liste d'articles. un autre pour les commentaires sur ces articles. À l'aide de SQL, nous pouvons trier, combiner et présenter ces données de différentes façons..

Dans WordPress, par exemple, une «publication» comprend au moins un titre, une date et probablement du contenu. Une table séparée est utilisée pour stocker les commentaires sur cet article, avec encore une autre table pour stocker une liste de catégories, puis encore un autre pour stocker une liste des catégories qui ont été assignées à quel article. En effectuant des renvois et en extrayant des données, WordPress rassemble toutes les informations nécessaires pour une page donnée de votre blog, avant d'appliquer le thème et de vous le présenter, via le logiciel du serveur Web..

Systèmes de mise en cache

Servir des fichiers HTML statiques est assez facile en termes de calcul - le serveur n'a qu'à extraire le fichier - le contenu dynamique, en revanche, nécessite beaucoup de travail pour assembler la page, avec la base de données et le traitement appliqué à ces données. . Un système de cache nous amène un cercle complet, en créant ces pages dynamiques, puis en les enregistrant fondamentalement sous forme de fichiers HTML statiques. Lorsque la même page est à nouveau demandée, il n'est pas nécessaire de la recalculer, ce qui accélère le site..

La mise en cache est un terme large qui peut signifier beaucoup de choses - les CDN sont un type de cache; il existe également des caches de base de données pour les requêtes les plus fréquentes (pensez à WordPress qui demande le titre de votre blog à la base de données à chaque fois que quelqu'un consulte votre message - car c'est ce qui se produit réellement). J'ai déjà écrit sur la configuration du système W3 Total Cache pour WordPress. Comment configurer les différents paramètres du plug-in W3 Total Cache pour votre blog Wordpress Comment configurer les différents paramètres du plug-in W3 Total Cache pour votre blog Wordpress Il y a quelques instants, Les avantages de l’installation du plugin W3TC sur votre blog Wordpress afin de l’accélérer avec diverses mises en cache, mais certains lecteurs étaient naturellement un peu méfiants à propos de… Read More, également utilisé ici à MakeUseOf. Votre navigateur possède également une mémoire cache Tout ce que vous devez savoir sur le cache du navigateur [MakeUseOf explique] Tout ce que vous devez savoir sur le cache du navigateur [MakeUseOf explique> Chaque fois que vous rencontrez un problème avec un site Web, l’une des premières suggestions que vous entendrez L’assistance informatique consiste à "essayer de vider le cache de votre navigateur" en même temps que "et supprimez vos cookies". Alors qu'est-ce que… Read More - à peu près tout peut être mis en cache.

Comme vous pouvez le constater, l’hébergement d’un site Web nécessite un travail considérable et de nombreuses technologies. Toutefois, cela ne veut pas dire que vous ne pouvez pas configurer votre propre blog en moins d’une heure. Les problèmes commencent à être étendus à plusieurs milliers d'utilisateurs.

Des questions? Demandez, et je ferai de mon mieux pour répondre. Êtes-vous surpris de voir combien d'efforts peuvent aller sur un site web??

En savoir plus sur: Web Design, Web Development.