Table des matières
Preparation
Serveur Web
Comme le serveur Web, Tomcat peut également allouer un thread pour chaque requête à traiter, ce qui est communément appelé mode BIO (Blocking I/O mode). Il est également possible d'utiliser la technologie de multiplexage d'E/S et de n'utiliser que quelques threads pour gérer toutes les requêtes, c'est-à-dire le mode NIO.
Homecoming
Le navigateur fonctionne à nouveau
Maison Opération et maintenance Sécurité Analyse du processus depuis la saisie de l'URL jusqu'au rendu final du contenu de la page par le navigateur

Analyse du processus depuis la saisie de l'URL jusqu'au rendu final du contenu de la page par le navigateur

May 16, 2023 am 11:28 AM
浏览器

Preparation

Lorsque vous entrez l'URL dans le navigateur (comme www.coder.com) et appuyez sur Entrée, la première chose que fait le navigateur La chose consiste à obtenir l'adresse IP de coder.com. La méthode spécifique consiste à envoyer un paquet UDP au serveur DNS. Le serveur DNS renverra l'adresse IP de coder.com. À ce stade, le navigateur met généralement en cache l'adresse IP. il sera accessible la prochaine fois.

Par exemple, Chrome, vous pouvez le visualiser via chrome://net-internals/#dns.

Avec l'IP du serveur, le navigateur peut initier des requêtes HTTP, mais les requêtes/réponses HTTP doivent être envoyées et reçues sur la "connexion virtuelle" de TCP.

Pour établir une connexion TCP "virtuelle", TCP Postman a besoin de connaître 4 choses : (IP locale, port local, IP du serveur, port du serveur). Maintenant, il ne connaît que l'IP locale, qu'en est-il du serveur). IP et deux ports ?

Le port local est très simple. Le système d'exploitation peut en attribuer un au hasard au navigateur. Le port du serveur est encore plus simple Il utilise un port "connu" est le 80. dites-le directement au facteur TCP.

Après trois handshakes, la connexion TCP entre le client et le serveur est établie ! Enfin nous pouvons envoyer des requêtes HTTP.

Analyse du processus depuis la saisie de lURL jusquau rendu final du contenu de la page par le navigateur

La raison pour laquelle la connexion TCP est dessinée en pointillé est parce que cette connexion est virtuelle

Serveur Web

Une requête HTTP GET parcourt des milliers de kilomètres et est transmise par plusieurs routeurs avant d'atteindre finalement le serveur (les paquets HTTP peuvent être fragmentés et transmis par la couche inférieure, qui est omise ) .

Le serveur Web doit démarrer le traitement. Il a trois façons de le gérer :

(1) Un seul thread peut être utilisé pour gérer toutes les requêtes, et un seul thread peut être utilisé à la fois. Cette structure est facile à mettre en œuvre, mais elle peut entraîner de sérieux problèmes de performances.

(2) Un processus/thread peut être alloué pour chaque requête, mais lorsqu'il y a trop de connexions, le processus/thread côté serveur consommera beaucoup de ressources mémoire et de processus /changement de thread Cela surchargera également le processeur.

(3) Pour réutiliser les E/S, de nombreux serveurs Web adoptent une structure de réutilisation. Par exemple, toutes les connexions sont surveillées via epoll lorsque l'état de la connexion change (si les données sont disponibles, Lire). , utilisez un processus/thread pour traiter cette connexion, continuez à surveiller après le traitement et attendez le prochain changement d'état. De cette manière, des milliers de demandes de connexion peuvent être traitées avec un petit nombre de processus/threads.

Nous utilisons Nginx, un serveur web très populaire, pour continuer l'histoire suivante.

Pour la requête HTTP GET, Nginx utilise epoll pour la lire Ensuite, Nginx doit déterminer s'il s'agit d'une requête statique ou d'une requête dynamique ?

S'il s'agit d'une requête statique (fichier HTML, fichier JavaScript, fichier CSS, image, etc.), vous pourrez peut-être la gérer vous-même (bien sûr, cela dépend de la configuration de Nginx et peut être transmis à d'autres serveurs de cache). Lisez les fichiers pertinents sur le disque dur local et revenez directement.

S'il s'agit d'une requête dynamique qui doit être traitée par le serveur backend (tel que Tomcat) avant de pouvoir être renvoyée, elle doit être transmise à Tomcat. dans le backend, il doit être sélectionné selon une certaine stratégie.

Par exemple, Ngnix prend en charge les types suivants :

Polling : transmettre au serveur backend un par un dans l'ordre

Poids : donner à chaque serveur backend un poids attribué à chaque serveur backend, qui équivaut à la probabilité de transfert vers le serveur backend.

ip_hash : effectuez une opération de hachage basée sur l'IP, puis trouvez un serveur pour la transférer. Dans ce cas, la même IP client sera toujours transmise au même serveur back-end.

fair : allouez les requêtes en fonction du temps de réponse du serveur backend et hiérarchisez le délai de réponse. Quel que soit l'algorithme utilisé, un serveur backend est finalement sélectionné, puis Nginx doit transmettre la requête HTTP au backend Tomcat et transmettre la sortie HttpResponse de Tomcat au navigateur.

On voit que Nginx joue le rôle d'un agent dans ce scénario.

Analyse du processus depuis la saisie de lURL jusquau rendu final du contenu de la page par le navigateur

Application Server

Analyse du processus depuis la saisie de lURL jusquau rendu final du contenu de la page par le navigateurLa requête HTTP est enfin arrivée sur Tomcat, qui est un serveur Java Un conteneur écrit pour gérer Servlet/JSP, notre code s'exécute dans ce conteneur.

Comme le serveur Web, Tomcat peut également allouer un thread pour chaque requête à traiter, ce qui est communément appelé mode BIO (Blocking I/O mode). Il est également possible d'utiliser la technologie de multiplexage d'E/S et de n'utiliser que quelques threads pour gérer toutes les requêtes, c'est-à-dire le mode NIO.

Quelle que soit la méthode utilisée, la requête HTTP sera transmise à un servlet pour traitement, et le servlet convertira la requête HTTP dans le format de paramètre utilisé par le framework, puis la distribuera à un contrôleur (si vous utilisez Spring) ou une action (si vous utilisez Struts).

Le reste de l'histoire est relativement simple (non, pour les codeurs, c'est en fait la partie la plus compliquée), qui consiste à exécuter la logique d'ajout, de suppression, de modification et de recherche souvent écrite par les codeurs. Dans ce processus, c'est très. susceptibles d'interagir avec les caches, les bases de données, etc. Les composants back-end interagissent les uns avec les autres et renvoient finalement une réponse HTTP. Étant donné que les détails dépendent de la logique métier, ils sont omis.

Selon notre exemple, cette réponse HTTP doit être une page HTML.

Homecoming

Tomcat a joyeusement envoyé la réponse Http à Ngnix.

Ngnix est également heureux d'envoyer une réponse Http au navigateur.

Analyse du processus depuis la saisie de lURL jusquau rendu final du contenu de la page par le navigateur

La connexion TCP peut-elle être fermée après l'envoi ?

Si vous utilisez HTTP1.1, cette connexion est persistante par défaut, ce qui signifie qu'elle ne peut pas être fermée.

Si vous utilisez HTTP1.0, vérifiez s'il y a Connection:keep-alive dans la requête HTTP précédente ; En-tête. Si oui, il ne peut pas être fermé.

Le navigateur fonctionne à nouveau

Le navigateur a reçu la réponse HTTP, a lu la page HTML et a commencé à se préparer à afficher la page.

Mais cette page HTML peut référencer un grand nombre d'autres ressources, comme des fichiers js, des fichiers CSS, des images, etc. Ces ressources se trouvent également côté serveur et peuvent se trouver sous un autre nom de domaine, comme static.coder .com.

Le navigateur n'a d'autre choix que de les télécharger un par un. En commençant par utiliser DNS pour obtenir l'IP, les choses qui ont été faites auparavant doivent être refaites. La différence est qu'il n'y aura plus d'intervention de serveurs d'applications comme Tomcat.

S'il y a trop de ressources externes à télécharger, le navigateur créera plusieurs connexions TCP et les téléchargera en parallèle.

Mais le nombre de requêtes sur le même nom de domaine en même temps ne peut pas être trop important, sinon le trafic du serveur sera trop important et ce sera insupportable. Les navigateurs doivent donc se limiter. Par exemple, Chrome ne peut télécharger que 6 ressources en parallèle sous Http1.1.

Analyse du processus depuis la saisie de lURL jusquau rendu final du contenu de la page par le navigateur

Lorsque le serveur envoie des fichiers JS et CSS au navigateur, il indiquera au navigateur quand ces fichiers expireront (en utilisant Cache-Control ou Expire). Le navigateur peut mettre les fichiers en cache localement et attendre la deuxième demande. Pour un même fichier, s’il n’expire pas, vous pouvez simplement le récupérer depuis la zone locale.

S'il expire, le navigateur peut demander au serveur si le fichier a été modifié ? (En fonction du Last-Modified et de l'ETag envoyés par le dernier serveur), s'il n'a pas été modifié (304 Not Modified), vous pouvez également utiliser la mise en cache. Sinon, le serveur renverra le dernier fichier au navigateur.

Bien sûr, si vous appuyez sur Ctrl+F5, une requête GET sera émise de force, ignorant complètement le cache.

Remarque : Sous Chrome, vous pouvez visualiser le cache via la commande chrome://view-http-cache/.

Maintenant, le navigateur obtient trois choses importantes :

1.HTML, le navigateur le transforme en arbre DOM

2 CSS, le navigateur le transforme en arbre de règles CSS

3. peut être modifié

Le navigateur générera ce qu'on appelle « l'arbre de rendu » via l'arbre DOM et l'arbre de règles CSS, calculera la position/taille de chaque élément, la disposition, puis appellera l'API du système d'exploitation pour le dessin. un processus très complexe est omis et non représenté.

Jusqu'à présent, nous voyons enfin le contenu de www.coder.com dans le navigateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Port de connexion Coinbase Exchange 2025 Port de connexion Coinbase Exchange 2025 Mar 21, 2025 pm 05:51 PM

Guide de connexion de la sécurité Coinbase: comment éviter les sites de phishing et les escroqueries? Le phishing et les escroqueries deviennent de plus en plus rampants, et il est crucial d'accéder solidement au portail de connexion officiel de Coinbase. Cet article fournit des guides pratiques pour aider les utilisateurs à trouver et à utiliser en toute sécurité le dernier portail de connexion officiel de Coinbase pour protéger la sécurité des actifs numériques. Nous couvrirons comment identifier les sites de phishing et comment se connecter en toute sécurité via des sites Web officiels, des applications mobiles ou des plateformes tierces de confiance, et fournir des suggestions pour améliorer la sécurité des comptes, comme l'utilisation d'un mot de passe fort et permettant une vérification à deux facteurs. Pour éviter les pertes d'actifs dues à une connexion incorrecte, assurez-vous de lire attentivement cet article!

OUYI Exchange App Download Download Tutorial OUYI Exchange App Download Download Tutorial Mar 21, 2025 pm 05:42 PM

Cet article fournit un guide détaillé pour le téléchargement en toute sécurité de l'application OUYI OKX en Chine. En raison des restrictions sur les magasins d'applications nationales, il est conseillé aux utilisateurs de télécharger l'application via le site officiel d'Ouyi OKX, ou d'utiliser le code QR fourni par le site officiel pour analyser et télécharger. Pendant le processus de téléchargement, assurez-vous de vérifier l'adresse officielle du site Web, de consulter les autorisations d'application, d'effectuer une analyse de sécurité après l'installation et d'activer la vérification à deux facteurs. Pendant l'utilisation, veuillez respecter les lois et réglementations locales, utiliser un environnement de réseau sûr, protéger la sécurité des comptes, être vigilant contre la fraude et investir rationnellement. Cet article est pour référence uniquement et ne constitue pas des conseils d'investissement.

Le dernier portail d'inscription pour le site officiel d'Ouyi Le dernier portail d'inscription pour le site officiel d'Ouyi Mar 21, 2025 pm 05:54 PM

En tant que la principale plateforme de trading d'actifs numériques au monde, OUYI OKX attire de nombreux investisseurs avec ses riches produits de trading, ses fortes garanties de sécurité et sa expérience utilisateur pratique. Cependant, les risques de sécurité des réseaux deviennent de plus en plus graves et comment enregistrer en toute sécurité le compte officiel OUYI OKX est crucial. Cet article fournira le dernier portail d'enregistrement pour le site officiel OUYI OKX et expliquera en détail les étapes et les précautions pour une inscription sûre, y compris comment identifier le site officiel, définir un mot de passe solide, permettre la vérification à deux facteurs, etc., pour vous aider à démarrer votre voyage d'investissement dans les actifs numériques en toute sécurité. Veuillez noter qu'il existe des risques dans l'investissement des actifs numériques, veuillez prendre des décisions prudentes.

Binance Exchange App Download Téléchargement Tutoriel Binance Exchange App Download Téléchargement Tutoriel Mar 21, 2025 pm 05:45 PM

Cet article fournit un guide de téléchargement d'application d'échange de binance sûr et fiable pour aider les utilisateurs à résoudre le problème du téléchargement de l'application Binance dans le pays. En raison de restrictions sur les magasins d'applications domestiques, l'article recommande la priorité de télécharger les packages d'installation APK à partir du site officiel de Binance et présente trois méthodes: le téléchargement officiel du site Web, le téléchargement de la boutique d'applications tiers et le partage d'amis. En outre, l'article rappelle également aux utilisateurs de comprendre les lois et réglementations locales, de faire attention à la sécurité du réseau, de protéger les informations personnelles, de se méfier de la fraude, d'investissement rationnel et de transactions sécurisées. À la fin de l'article, l'article a une fois de plus souligné que le téléchargement et l'utilisation de l'application Binance doivent se conformer aux lois et réglementations locales, et à vos propres risques, et ne constitue aucun conseil en investissement.

Connectez-vous au dernier site officiel de Bitmex Exchange Connectez-vous au dernier site officiel de Bitmex Exchange Mar 21, 2025 pm 06:06 PM

Cet article fournit des guides sûrs et fiables pour aider les utilisateurs à accéder au dernier site Web officiel de Bitmex Exchange et à améliorer la sécurité des transactions. En raison des menaces réglementaires et de cybersécurité, il est crucial d'identifier le site Web officiel de Bitmex et d'éviter les sites Web de phishing volant des informations et des fonds de compte. L'article présente la recherche de portails de sites Web officiels via des plateformes de crypto-monnaie de confiance, des médias sociaux officiels, des médias d'information et souscrit aux e-mails officiels. Il souligne l'importance de vérifier les noms de domaine, de l'utilisation des connexions HTTPS, de la vérification des certificats de sécurité et de l'activation régulière de la vérification à deux facteurs et de la modification des mots de passe. N'oubliez pas que le trading des crypto-monnaies est un risque élevé, veuillez investir avec prudence.

Portail de connexion de la version Web de Coinbase Exchange Portail de connexion de la version Web de Coinbase Exchange Mar 21, 2025 pm 05:48 PM

La version Web Coinbase Exchange est populaire pour sa commodité, mais l'accès sécurisé est crucial. Cet article vise à guider les utilisateurs à se connecter à la version Web officielle du Coinbase en toute sécurité et à éviter les sites Web et les pirates de phishing. Nous expliquerons en détail comment vérifier le portail officiel via les moteurs de recherche, les plateformes tierces de confiance et les médias sociaux officiels, et met l'accent sur les mesures de sécurité telles que la vérification du verrouillage de sécurité de la barre d'adresse, permettant une vérification à deux facteurs, en évitant le Wi-Fi public, en modifiant régulièrement les mots de passe et en étant alerté à la phishing pour assurer la sécurité de vos actifs numériques. L'accès correct au site officiel de Coinbase est la première étape pour protéger votre monnaie numérique.

La dernière entrée officielle du site officiel de Bitmex Exchange La dernière entrée officielle du site officiel de Bitmex Exchange Mar 21, 2025 pm 06:03 PM

En tant que plate-forme de trading de dérivés de crypto-monnaie vétéran, la précision de l'entrée officielle du site Web est cruciale. En raison de sites Web de phishing rampants, l'entrée de méchant dans de faux sites Web peut conduire à un vol de compte et à la perte de fonds. Cet article vise à guider les utilisateurs pour accéder en toute sécurité sur le site officiel de Bitmex, à fournir diverses méthodes telles que les plateformes d'information de crypto-monnaie de confiance (telles que CoinmarketCap, Coingecko), les médias sociaux officiels, la vérification des adresses existantes et les canaux de support officiels, et souligne l'utilisation de mesures de sécurité telles que la vérification à deux facteurs, les changements de mot de passe réguliers et l'utilisation des logiciels de sécurité pour aider les utilisateurs à éviter efficacement les RISK et à assurer la sécurité des comptes.

Comment télécharger Binance dans le pays Comment télécharger Binance dans le pays Mar 21, 2025 pm 05:33 PM

Cet article fournit un guide pour télécharger en toute sécurité l'application Binance en Chine. En raison des restrictions sur les magasins d'applications nationales, il est difficile de télécharger directement. Il est recommandé de télécharger le package d'installation APK via le site officiel de Binance ou de scanner le code QR pour télécharger l'application. Assurez-vous de vérifier soigneusement le nom de domaine officiel, de vérifier les autorisations d'application, d'effectuer une analyse sécurisée après l'installation et d'activer la vérification à deux facteurs (2FA). Assurez-vous de comprendre et de respecter les lois et réglementations locales avant de le télécharger et de l'utiliser. Le risque de transactions d'actifs numériques est élevé, veuillez donc fonctionner avec prudence. Cet article est pour référence uniquement et ne constitue pas des conseils d'investissement. Tous les risques sont supportés par l'utilisateur. Mots-clés: binance, binance, téléchargement, application, domestique, sécurité, tutoriel, monnaie numérique, crypto-monnaie

See all articles