9.1http

Vous êtes déjà très familier avec le protocole http. Mais, très probablement, vous ne savez pas qu'il existe déjà trois versions de ces protocoles. En tant que futur programmeur Java, vous devriez vous familiariser avec ce cas au moins une fois.

Ci-dessous, je vais vous dire quels types de protocoles sont et quelles sont leurs caractéristiques. En attendant, voici une photo pour vous - étude.

protocoles http

9.2https

Commençons par la première modification du protocole http - le protocole https . Il s'agit du même http, mais le cryptage du contenu y a été ajouté. Après tout, les requêtes et les réponses HTTP sont des fichiers texte ordinaires. Vous ne voudriez probablement pas que tout ce que votre navigateur envoie et reçoive passe en clair sur Internet.

Pour résoudre ce problème, le protocole https ( http+sécurité ) a été inventé . Lorsque vous essayez de faire une requête en utilisant le protocole https, votre navigateur établit d'abord une connexion avec le serveur requis et lui demande son certificat SSL.

Ensuite, l'authenticité de ce certificat est vérifiée : il contient le nom du domaine et une liste des clés publiques de ceux qui ont délivré ce certificat au serveur.

Si le certificat est authentique, le navigateur établit une connexion cryptée avec ce serveur. Et déjà dans cette connexion, les données sont transmises via le protocole http.

Et puisque les informations sur la ressource demandée sont transmises dans le protocole lui-même, lors de l'utilisation du protocole https, personne ne peut intercepter les informations sur les ressources du serveur auxquelles le navigateur a accédé.

Aujourd'hui, ce protocole est devenu le standard de facto et a quasiment supplanté le bon vieux http.

Si quelqu'un essaie de remplacer le serveur auquel vous envoyez une requête https, il ne pourra pas remplacer le certificat de domaine. Le navigateur comprendra cela, et vous verrez une page comme celle-ci :

9.3 http/2

Mais il n'y a rien dans ce monde qui ne puisse être amélioré. Après que Google ait remporté la guerre des navigateurs , il a décidé de s'approprier l'intégralité d'Internet. Et, bien sûr, pour une noble cause. Ils ont décidé d'améliorer le protocole http.

À peine dit que c'était fait. Ajouté à la nouvelle norme de transfert de données :

  • Cryptage obligatoire.
  • Compression des données dans les en-têtes HTTP.
  • Le serveur peut envoyer des fichiers avant même qu'ils ne soient demandés (technologie push).
  • Il peut y avoir plusieurs requêtes http sur une seule connexion TCP.
  • Les requêtes sont traitées comme un pipeline (pas besoin d'attendre une réponse pour envoyer une nouvelle requête).
  • Le protocole est binaire (pas besoin de traduire les caractères non imprimables en texte).

Une grande partie de cela est cachée au programmeur Java et maintenue au niveau du serveur Web et du navigateur.

9.4 http/3

La troisième version du protocole http est toujours en cours de finalisation et sa plus grande innovation est le rejet du protocole TCP. Les données passeront immédiatement par UDP.

Comme ça. Les gens ont proposé le modèle OSI, ils l'ont proposé, et vous y êtes. Ce qu'il ne faut pas faire pour gagner de la vitesse. D'un autre côté, c'est peut-être juste. Aujourd'hui, de nombreuses vidéos en streaming sont transmises sur Internet et Dieu lui-même a ordonné d'y utiliser UDP.

Oh, avec les charmes de ce protocole, vous jouerez déjà. J'ai déjà fini le mien :)

Vous pouvez en savoir plus sur http/3