GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que les modèles de développement Web sans état et avec état

Audience cible

Développeurs qui débutent dans la programmation de sites Web ou qui aimeraient un examen des modèles de conception de sites sans état et avec état.

Présentation

Les modèles avec et sans état du comportement des applications logicielles définissent la façon dont le navigateur Web d'un utilisateur communique avec un serveur Web. Dans les premières années du Web, les sites avaient tendance à être sans état. Les pages étaient statiques et ne variaient pas d'un utilisateur à l'autre. Plus tard, les sites Web ont inclus le modèle avec état, qui livrait des pages avec des informations uniques à chaque utilisateur. Les applications Web avec état sont essentielles pour le commerce électronique moderne, comme les détaillants en ligne et les banques, mais nécessitent une programmation sophistiquée pour fonctionner efficacement.
.

Modèle sans état

Dans la forme pure du modèle sans état, un programme client fait une demande à un serveur d'application, qui renvoie des données au client. Le serveur traite toutes les connexions client de la même manière et n'enregistre aucune information des demandes ou sessions précédentes. Un site Web qui propose une simple page Web statique est un bon exemple du modèle sans état. Le serveur reçoit des requêtes pour les pages qu'il héberge et envoie les données de la page aux navigateurs qui en font la demande, un peu comme un cuisinier préparant des repas pour les convives.
.

Modèle avec état

Lorsqu'une application fonctionne en mode avec état, le serveur garde une trace de qui sont les utilisateurs et de ce qu'ils font d'un écran à l'autre. Préserver l'état des actions des utilisateurs est fondamental pour avoir une session significative et continue. Il commence généralement par une connexion avec un ID utilisateur et un mot de passe, établissant un état de début pour la session. Lorsqu'un utilisateur navigue sur le site, l'état peut changer. Le serveur maintient l'état des informations de l'utilisateur tout au long de la session jusqu'à la déconnexion.
.

Passer des états en apatride

De nombreux sites Web génèrent des pages de manière dynamique, en s'appuyant moins sur des fichiers HTML statiques. Le navigateur de l'utilisateur reçoit des données de page d'un serveur Web et les restitue comme s'il s'agissait d'une page statique. De plus, les pages dynamiques permettent au serveur de « se souvenir » de l'utilisateur et de créer une continuité de page en page. Pour que la continuité fonctionne, un développeur peut utiliser un certain nombre d'astuces, en ajoutant des fonctionnalités avec état au modèle sans état. Par exemple, lorsqu'un utilisateur se connecte au site Web d'une banque, le serveur crée des informations sur cette session. Les informations peuvent résider dans la mémoire du serveur, mais elles peuvent également être stockées dans le navigateur. Le serveur garde une trace de votre session en enregistrant des informations uniques sur la session, telles que l'adresse IP d'un utilisateur. De plus, le développeur peut créer des variables côté serveur supplémentaires utilisées par les programmes sur le serveur. Ces variables restent intactes tant qu'une session est active, disparaissant à la déconnexion ou à l'expiration de la session.
.

Données côté navigateur

Il existe quelques options différentes pour conserver les données de session dans le navigateur. L'un est le cookie , un type spécial de jeton de navigateur. Un serveur Web peut créer un cookie et le stocker dans le navigateur de l'utilisateur afin qu'il puisse l'interroger pendant la session. Un navigateur stocke ces cookies et les renvoie à la demande du serveur. Les cookies peuvent éventuellement expirer avec la session ou persister presque en permanence. S'ils restent, cependant, les données peuvent être lues par n'importe quel site, révélant potentiellement des informations que l'utilisateur ne pourrait pas partager autrement. La collecte de données aveugle et non autorisée par de nombreuses entreprises à partir de l'utilisation de cookies a suscité un sentiment de méfiance chez de nombreux internautes. De nombreux utilisateurs, à leur tour, ont réagi en configurant leur navigateur pour bloquer les cookies, ce qui rend les cookies moins disponibles à des fins légitimes.

En plus des cookies, vous pouvez communiquer des données de session à un serveur en mettant des variables dans l'URL, précédées d'un point d'interrogation, comme dans cet exemple :

http://mysite.net/anypage.php?userID=54321&orderID=51926

Notez que la toute première variable est précédée d'un point d'interrogation et que les variables suivantes utilisent une esperluette.

De nombreux sites utilisent des URL pour transmettre des données du client au serveur. Un inconvénient est que les données d'URL sont visibles par tous. Il est possible dans certains cas d'exploiter les données d'URL pour obtenir des informations non autorisées ou de compromettre la sécurité d'un site. De plus, un pirate qui surveille votre trafic Internet peut facilement intercepter les données URL. Vous pouvez cependant masquer les données d'URL en les transmettant sous forme chiffrée ou hachée, améliorant ainsi leur sécurité.
.

Charge du serveur

Lors de l'exécution de sites Web qui utilisent le mode sans état, un serveur cloud a un travail relativement facile, servant des pages sans qu'il soit nécessaire de sauvegarder les données de l'utilisateur. Un site avec état a une surcharge de mémoire supplémentaire pour chaque utilisateur, nécessaire pour stocker les données de session de base ainsi que les réponses des utilisateurs et d'autres données requises par l'application. Pour les sites qui gèrent des milliers de sessions simultanées, les besoins en mémoire supplémentaires s'additionnent. Un site sans état qui repose principalement sur des pages statiques est également plus facile sur le processeur du serveur. En revanche, un site avec état dépend plus fortement du contenu dynamique généré par un programme, nécessitant beaucoup plus de puissance CPU par session. Un personnel d'exploitation avisé surveille de près la mémoire du serveur et les données de performances du processeur, à la recherche de goulots d'étranglement susceptibles d'affecter la réactivité d'un site.
.

Conclusion

Dans l'Internet moderne, un site Web complètement sans état a une utilisation limitée, car de plus en plus de contenu repose sur le suivi des données de la session d'un visiteur avec ce site. Pour créer des sites Web dynamiques qui "connaissent" leurs clients, un développeur Web doit garder à l'esprit les différences entre les modes avec et sans état, ainsi que les avantages et les inconvénients de chaque approche en ce qui concerne la page ou l'élément de page particulier.

Atlantic.net propose un hébergement VPS ainsi que des services d'hébergement gérés qui incluent une couche de services gérés essentiels à vos forfaits d'hébergement. Contactez-nous dès aujourd'hui pour plus d'informations.

En savoir plus sur nos services d'hébergement VPS et nos serveurs privés virtuels.

.
.


Linux
  1. Qu'est-ce qu'un serveur Web et comment fonctionne un serveur Web ?

  2. Explication des réseaux Web et P2P décentralisés

  3. Nuclide - Un IDE ouvert pour le développement mobile et Web

  4. Que pouvez-vous faire avec un VPS et un serveur cloud ?

  5. Qu'est-ce que la dispersion NTP et comment la contrôler ?

Comment installer OpenLiteSpeed ​​Web Server avec MariaDB et PHP

Installer MySQL sur Windows Server 2008 R2 et 2012

Découvrez CyberPanel et installez-le pour contrôler votre hébergeur

Développement Web et techniques avancées avec Linux sur Windows (WSL)

Bases de l'hébergement Web et choix d'un fournisseur

Quelle est la différence entre DMA et les E/S mappées en mémoire ?