Publicité

Internet est incroyable, je pense que nous pouvons tous être d'accord là-dessus. Mais vous êtes-vous déjà assis et avez-vous pensé à quel point un site Web se rendait sur votre ordinateur? Quelles technologies sont derrière MakeUseOf, par exemple? C'est bien plus qu'une simple collection de fichiers et d'images HTML.

Lisez la suite pour savoir exactement ce qui se passe dans le fonctionnement, l'hébergement et le service d'un site Web pour votre consommation, chers lecteurs.

Matériel

Commençons par le composant le plus élémentaire de l'hébergement d'un site Web: le matériel. Essentiellement, les machines utilisées pour héberger un site Web ne sont vraiment pas différentes des ordinateurs de bureau que vous ou moi avons à la maison. Ils ont plus de mémoire, de disques de sauvegarde et souvent des connexions réseau en fibre optique - mais en gros, ils sont les mêmes. En fait, n'importe quelle vieille machine peut héberger un site Web - il s'agit simplement de la vitesse à laquelle elle pourra envoyer des pages aux utilisateurs.

Vous pouvez en savoir plus ici sur le différents types d'hébergement Explication des différentes formes d'hébergement de sites Web [Explication de la technologie] Lire la suite disponible, depuis une seule machine partagée entre des milliers de sites Web payant chacun 5 $ / mois, jusqu'à un serveur dédié complet capable d'exécuter quelque chose comme MakeUseOf - ce qui coûte des milliers de dollars par mois.

technologies pour le développement de sites Web

Système opérateur

La plupart des machines de serveurs Web exécutent une version optimisée de Linux - bien qu'il existe un bon nombre de serveurs il exécute Windows, généralement dans des environnements d'entreprise où les applications Web sont construites sur ASP ou point net. Depuis janvier de cette année, la distribution Linux la plus populaire pour l'hébergement Web est Debian, suivi de près par CentOS (basé sur RedHat), tous deux disponibles gratuitement pour téléchargement et essai vous-même - et chacun d'entre eux a déclaré héberger environ 30% de tous les sites Web. Google gère bien sûr son propre Linux personnalisé, ainsi que son propre système de fichiers personnalisé.

Logiciel de serveur Web

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

technologies pour site web

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 l'air HTTP commence alors par les allers-retours des requêtes, des données et des codes d'état. Comme vous avez demandé cette page, notre serveur a répondu avec un 200 - OK, sens "Bien sur, vas y"; si vous avez visité auparavant, votre navigateur peut également demander "Hé, j'ai déjà une copie de ce graphique dans le cache de mon navigateur, en ai-je vraiment besoin à nouveau?", auquel notre serveur a répondu 304 - Non modifié, ou "Non, c'est cool, nous ne l'avons pas changé ou quoi que ce soit, utilisez simplement celui-ci".

Parfois, vous trouverez le redouté 404 - introuvable, mais je n'ai pas besoin de vous expliquer ce code d'erreur. Si vous vous êtes déjà ouvert Pyromane Guide de l'amateur pour personnaliser la conception de sites Web avec FireBug Lire la suite ou le mode développeur de votre navigateur, vous serez étonné de voir à quel point les va-et-vient se poursuivent - ce n'est pas simple "Donnez-moi cette page" - "OK, ici", mais en fait des centaines d'interactions plus petites.

technologies pour site web

Fichiers statiques et réseaux de diffusion de contenu

Sur tous les sites Web, certains fichiers ne changent presque jamais. Des choses comme Javascripts, CSS, images, PDF ou mp3. Ils sont appelés fichiers statiques, et pour vous les fournir, le logiciel de 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 assez laborieuse en raison de la taille des fichiers. Si vous avez déjà visité une page Web sur laquelle vous pouvez réellement vous asseoir et regarder les images se charger, 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 faire ce genre 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 séparés qui sont optimisés pour servir des fichiers statiques ridiculement rapides en un clin d'œil.

Ils y parviennent également en localisant physiquement les serveurs à différents endroits du monde qui se reflètent, de sorte que les données ont moins de distance à parcourir pour vous. À l'heure actuelle, même si l'article MakeUseOf que vous lisez est en réalité hébergé aux États-Unis, les images et 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 Web modernes ont contenu dynamique de quelque sorte, 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 le plusieurs langues à votre disposition Quel langage de programmation apprendre - Programmation WebAujourd'hui, nous allons jeter un œil aux 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 ... Lire la suite (et est entré dans quelques débats houleux pour suggérer que PHP était le meilleur). Quelle que soit la langue que vous choisissez, elle fonctionne conjointement avec la couche logicielle de serveur Web pour générer d'abord dynamiquement le contenu de la page, puis vous le servir.

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 diverses 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 - l'une peut être une liste d'articles; un autre pour des commentaires sur ces articles. En utilisant SQL, nous pouvons trier, combiner et présenter ces données de différentes manières.

Dans WordPress par exemple, un «post» se compose d'au moins un titre et une date, et probablement du contenu réel. Un tableau séparé est utilisé pour stocker les commentaires sur cet article, avec encore un autre tableau pour stocker une liste de catégories, puis encore un autre pour stocker une liste des catégories qui ont été affectées à quel article. En croisant et en tirant des données de tous ces éléments, WordPress rassemble toutes les informations dont il a besoin pour une page particulière de votre blog, avant d'appliquer le thème et de vous le présenter, via le serveur web Logiciel.

technologies pour le développement de sites Web

Systèmes de mise en cache

Servir des fichiers HTML statiques est assez facile en termes de calcul - le serveur n'a qu'à récupérer le fichier - contenu dynamique d'autre part, nécessite beaucoup de travail pour assembler la page, avec la base de données et le traitement qui se produit sur ce Les données. Un système de mise en cache nous permet de boucler la boucle, en créant ces pages dynamiques, puis en les enregistrant essentiellement sous forme de fichiers HTML statiques. Lorsque la même page exacte est à nouveau demandée, elle n'a pas besoin d'être recalculée, ce qui accélère le site.

La mise en cache est un terme large qui peut signifier bien des choses: les CDN sont un type de cache; il existe également des caches de base de données pour les questions fréquemment posées (pensez à WordPress demander à la base de données pour le titre de votre blog à chaque fois que quelqu'un regarde votre message - car c'est en fait ce que arrive). J'ai déjà écrit sur la configuration du populaire Système W3 Total Cache pour WordPress Comment configurer les différents paramètres du plugin W3 Total Cache pour votre blog WordpressIl y a quelque temps, j'ai parlé des avantages de l'installation du plug-in W3TC sur votre blog Wordpress afin d'accélérer la mise en cache, mais certains lecteurs étaient naturellement un peu méfiants à propos de ... Lire la suite , également utilisé ici à MakeUseOf. Votre le navigateur a aussi un cache 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 de l'assistance informatique est "essayez de vider le cache de votre navigateur" avec "et supprimez vos cookies". Donc qu'est-ce... Lire la suite - à peu près tout peut être mis en cache.

Donc, comme vous pouvez le voir, il y a en fait une énorme quantité de travail et de nombreuses technologies impliquées dans l'hébergement d'un site Web. Cependant, cela ne veut pas dire que vous ne pouvez pas avoir votre propre blog mis en place et opérationnel en moins d'une heure Configurer votre blog avec WordPress: le guide ultimeVous voulez créer votre propre blog mais vous ne savez pas comment? Regardez WordPress, la plateforme de blogging la plus puissante disponible aujourd'hui. Lire la suite . La mise à l'échelle de plusieurs milliers d'utilisateurs est le point de départ des problèmes.

Des questions? Demandez loin, et je ferai de mon mieux pour répondre. Êtes-vous surpris de voir combien d'efforts peuvent être consacrés à un site Web?

James est titulaire d'un BSc en intelligence artificielle et est certifié CompTIA A + et Network +. Il est le développeur principal de MakeUseOf et passe son temps libre à jouer au paintball VR et aux jeux de société. Il construit des PC depuis qu'il est enfant.