
- Nous allons parler un peu du réseautage.
- Nous examinerons l'architecture client-serveur et à trois niveaux.
- Nous allons explorer les protocoles HTTP/HTTPS.
- Nous apprendrons tout ce que vous devez savoir sur Maven.
- On parle de journalisation.
- À propos des conteneurs de servlet.
- Et enfin, à propos de MVC.
Partie 1. Nous parlerons un peu du réseautage.
Commençons par ce qui compte le plus en parlant de ce sur quoi chaque réseau social, service Web et application Web, messagerie instantanée et site Web simple est construit - le réseau (dans le contexte de cette série d'articles, le terme "réseau" signifie Internet ) . Le réseau est constitué d'un grand nombre d'ordinateurs : ils sont interconnectés et capables de communiquer. Il est important de comprendre comment ils procèdent, car les applications Web envoient des informations d'un ordinateur à un autre.Modèle OSI
Le modèle d'interconnexion de systèmes ouverts (OSI) crée une approche à plusieurs niveaux pour construire un réseau. Il montre clairement comment et à quelle couche les entités d'un même réseau peuvent interagir les unes avec les autres. En tout, ce modèle contient 7 couches :7 | Application |
6 | Présentation |
5 | Session |
4 | Transport |
3 | Réseau |
2 | Liaison de données |
1 | Physique |
-
Couche physique - Cette couche traite des lois de la physique et de la façon de les utiliser à nos fins. Par exemple, créer des câbles et les poser sur des entités du réseau.
Cette couche ne nous intéresse pas.
-
Couche liaison de données — Cette couche est responsable de la transmission des données aux nœuds du réseau et de la création de canaux de transmission de données pour les objets physiques.
Cette couche ne nous intéresse que si vous souhaitez écrire un firmware pour le matériel qui établit les liaisons de données.
-
Couche réseau — Cette couche sert à déterminer les adresses des utilisateurs individuels du réseau et les routes vers eux. Il est utile d'en savoir plus sur les détails de cette couche, à savoir les adresses réseau.
Les adresses réseau sont définies par un protocole spécial : le plus courant est IPv4 (Internet Protocol version 4). Il s'agit du protocole qu'un programmeur Web doit utiliser pour contacter un autre utilisateur du réseau.
Une adresse IPv4 se compose de quatre valeurs d'octets séparées par des points, par exemple : 192.0.2.235. N'oubliez pas que ces valeurs sont des octets, ce qui signifie qu'elles se situent dans la plage 0..255.
Les adresses IP, à leur tour, sont divisées en classes. Nous ne pouvons pas simplement nous attribuer une belle combinaison de chiffres, mais nous n'irons pas très loin ici. Il suffit de comprendre qu'une adresse IP identifie de manière unique un utilisateur du réseau et peut être utilisée pour contacter cet utilisateur.
-
Couche transport — Cette couche gère la livraison des informations à un destinataire. Divers protocoles sont utilisés pour y parvenir. Pour l'instant, ils ne nous intéressent pas. Nous sommes beaucoup plus intéressés par le concept de port , qui apparaît à cette couche.
Les ports sont chargés d'identifier une application spécifique sur un ordinateur. Par exemple, supposons que vous écriviez une application de chat en Java, que vous l'installiez sur 2 ordinateurs et que vous souhaitiez envoyer un message à votre ami. Votre message est conditionné, envoyé à une adresse IP spécifique et livré à votre ami, mais son ordinateur ne sait pas quoi faire des informations reçues, car il ne comprend pas quelle application doit traiter votre message. Lorsque les entités du réseau communiquent, les ports sont utilisés pour indiquer quelle application doit traiter les informations.
Le port est un nombre compris entre 0 et 65535. Il est ajouté à l'adresse IP après deux-points : 192.0.2.235:8080 . Mais vous ne pouvez pas utiliser tous les ports de la plage spécifiée : certains d'entre eux sont réservés au système d'exploitation, d'autres sont habituellement utilisés à des fins spécifiques. Nous n'approfondirons pas les objectifs des différents ports. Pour l'instant, il suffit de comprendre leur rôle dans le processus de communication sur le réseau.
-
Couche de session — Cette couche crée et gère des sessions de communication. Au niveau de cette couche, il devient possible pour les applications d'interagir, en envoyant des requêtes au niveau du service. Ce que nous devons savoir, c'est qu'à cette couche, une session est ouverte entre deux utilisateurs, et nous devons travailler avec la session.
Une session est une entité créée lorsqu'une connexion est établie entre deux utilisateurs. Il peut stocker les informations nécessaires sur un utilisateur et sur l'historique des interactions avec l'utilisateur. Un détail important est que lorsque l'échange d'informations s'arrête, la session ne disparaît pas. Au lieu de cela, il conserve son état pendant une période de temps définie, afin que les utilisateurs puissent continuer à échanger des informations après une pause.
Si une application communique avec plusieurs utilisateurs en même temps, un nombre correspondant de connexions (et donc de sessions) est établi. Chaque session possède un identifiant unique (ID) , qui permet à l'application de distinguer les utilisateurs avec lesquels elle communique.
-
Couche de présentation — Cette couche est responsable du codage/décodage des données. Évidemment, si nous devons envoyer la chaîne "Hello web" à un autre utilisateur, elle est d'abord convertie en code binaire (codée en tant que) et ensuite seulement elle est envoyée. Lorsqu'il atteint le destinataire, le message est reconverti (décodé) et le destinataire peut voir la chaîne d'origine. Ces actions ont lieu au niveau de la couche de présentation.
-
La couche application est la couche la plus intéressante pour nous. Il permet aux applications de communiquer avec le réseau. Au niveau de cette couche, nous recevons et envoyons des messages, et faisons des demandes aux services et aux bases de données distantes.
Il existe de nombreux protocoles utilisés à cette couche : POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET et, bien sûr, HTTP/HTTPS. Un protocole est un accord universel auquel nous adhérons lors de la communication. Nous fournirons certainement une discussion détaillée séparée de HTTP/HTTPS.

- Adresse IP — L'adresse de l'utilisateur dans le réseau
- Port — L'adresse de l'application d'un utilisateur spécifique
- Session — Une entité qui existe tout au long de la période de communication entre deux utilisateurs
- Protocoles d'application (HTTP/HTTPS) — Ce sont des règles que nous suivrons lors de la composition et de l'envoi de messages.
DNS (système de noms de domaine)
Comme nous l'avons déjà appris, chaque utilisateur du réseau a une adresse unique. Si nous parlons de l'application, son adresse unique sera IPv4-address:port . Si vous connaissez cette adresse, vous pouvez accéder directement à l'application. Imaginez que nous écrivions une application Web qui affiche la température moyenne de l'air dans tous les pays en temps réel. Nous l'avons déployé sur un serveur avec l'adresse 226.69.237.119, sur le port 8080. Afin de pouvoir recevoir des informations de notre part, l'utilisateur doit saisir 5 chiffres dans le navigateur : 226.69.237.119:8080. Les gens n'aiment pas mémoriser des ensembles de chiffres : beaucoup d'entre nous ne se souviennent pas de plus de deux numéros de téléphone. C'est pourquoi le système de noms de domainea été inventé. Nous pouvons créer un "alias" pour notre adresse, par exemple world-temperature.com. Au lieu de nous rechercher à l'aide d'une adresse composée de cinq chiffres difficiles à retenir, l'utilisateur peut entrer notre nom de domaine dans la barre d'adresse du navigateur. Il existe des serveurs DNS qui associent les noms de domaine à des adresses réelles. Par exemple, lorsqu'un utilisateur saisit codegym.cc dans un navigateur, sa requête est envoyée à un serveur DNS, qui la convertit en l'adresse réelle.
GO TO FULL VERSION