Maison Java JavaQuestions d'entretien Entretien Java sur les protocoles HTTP et HTTPS

Entretien Java sur les protocoles HTTP et HTTPS

Dec 29, 2020 am 10:25 AM
http https java 协议 面试

Entretien Java sur les protocoles HTTP et HTTPS

Tout d'abord, jetons un coup d'œil aux questions d'entretien d'Alibaba et de SF Express.

Questions d'entretien avec Alibaba : Que savez-vous du protocole HTTP, quelle est la différence entre HTTP et HTTPS, comment la sécurité de HTTPS est-elle mise en œuvre ? 🎜>Question d'entretien SF Express : http expliquer

(Partage de vidéos d'apprentissage : tutoriel vidéo Java

)

La réponse détaillée est la suivante :

1. Introduction au HTTP


Le protocole HTTP est l'abréviation de Hyper Text Transfer Protocol. Le protocole HTTP fonctionne sur une architecture client-serveur. En tant que client HTTP, le navigateur envoie toutes les requêtes au serveur HTTP, c'est-à-dire au serveur WEB, via l'URL. Le serveur Web envoie des informations de réponse au client sur la base de la demande reçue.

2. Caractéristiques du protocole HTTP
Aucune connexion : Le sens de l'absence de connexion est de limiter chaque connexion à ne traiter qu'une seule requête. Une fois que le serveur a traité la demande du client et reçu la réponse du client, il se déconnecte. Cette méthode permet de gagner du temps de transmission. Stateless : Le protocole HTTP est un protocole sans état. Sans état signifie que le protocole n'a aucune capacité de mémoire pour le traitement des transactions. L'absence de statut signifie que si un traitement ultérieur nécessite les informations précédentes, celles-ci doivent être retransmises, ce qui peut entraîner une augmentation de la quantité de données transférées par connexion. En revanche, le serveur répond plus rapidement lorsqu’il n’a pas besoin d’informations préalables.

3. Codes d'état HTTP
1xx : Informations d'indication – indique que la demande a été reçue, continuez le traitement 2xx : Succès – indique que la demande a été reçue. a été reçu avec succès, Comprendre, accepter 3xx : Redirection – des mesures supplémentaires doivent être prises pour terminer la demande
4xx : Erreur client – ​​la demande contient une erreur de syntaxe ou la demande ne peut pas être satisfaite
5xx : Côté serveur erreur – le serveur n'a pas réussi à y répondre Demande légitime
Codes d'état courants :

200 OK                     //客户端请求成功400 Bad Request            //客户端请求有语法错误,不能被服务器所理解401 Unauthorized           //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden              //服务器收到请求,但是拒绝提供服务404 Not Found              //请求资源不存在,eg:输入了错误的URL500 Internal Server Error  //服务器发生不可预期的错误503 Server Unavailable     //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
Copier après la connexion

4. Comment fonctionne HTTP

Le protocole HTTP définit comment un client Web demande une page Web à un serveur Web et comment le serveur transmet la page Web au client. Le protocole HTTP utilise un modèle requête/réponse. Le client envoie un message de demande au serveur. Le message de demande contient la méthode de demande, l'URL, la version du protocole, l'en-tête de la demande et les données de la demande. Le serveur répond avec une ligne d'état qui inclut la version du protocole, le code de réussite ou d'erreur, les informations sur le serveur, les en-têtes de réponse et les données de réponse.
Voici les étapes de la requête/réponse HTTP :
1. Le client se connecte au serveur Web
Un client HTTP, généralement un navigateur, communique. avec le serveur Web Etablissez une connexion socket TCP sur le port HTTP du serveur (80 par défaut). Par exemple, http://www.baidu.con.
2. Envoyer une requête HTTP
Via le socket TCP, le client envoie un message de requête texte au serveur Web. Un message de requête se compose de la ligne de requête, Il. se compose de 4 parties : en-tête de demande, ligne vide et données de demande.
3. Le serveur accepte la demande et renvoie une réponse HTTP
Le serveur Web analyse la demande et localise la ressource demandée. Le serveur écrit une copie de la ressource sur le socket TCP, qui est lue par le client. Une réponse se compose de quatre parties : la ligne d'état, l'en-tête de réponse, la ligne vide et les données de réponse.
4. Libérer la connexion TCP
Si le mode de connexion est fermé, le serveur ferme activement la connexion TCP, et le client ferme passivement la connexion et libère le Connexion TCP ; si le mode de connexion est fermé S'il est keepalive, la connexion sera maintenue pendant un certain temps et les requêtes pourront continuer à être reçues pendant ce temps
5. analyse le contenu HTML
Navigation du client Le serveur analyse d'abord la ligne d'état pour un code d'état indiquant si la demande a réussi. Ensuite, chaque en-tête de réponse est analysé et l'en-tête de réponse indique au document HTML suivant plusieurs octets et le jeu de caractères du document. Le navigateur client lit les données de réponse HTML, les formate selon la syntaxe HTML et les affiche dans la fenêtre du navigateur.
Par exemple : tapez l'URL dans la barre d'adresse du navigateur et appuyez sur Entrée, vous passerez par le processus suivant :
1. Le navigateur demande au serveur DNS de résoudre l'adresse IP correspondant au nom de domaine dans l'URL ;
2 , après avoir analysé l'adresse IP, établissez une connexion TCP avec le serveur en fonction de l'adresse IP et du port par défaut 80
3. Le navigateur émet une requête HTTP pour lire le fichier (le fichier correspondant à la partie après le nom de domaine dans l'URL), et la demande rapporte Le texte est envoyé au serveur en tant que données du troisième message de la négociation à trois voies TCP
4. Le serveur répond à la demande du navigateur et ; envoie le texte html correspondant au navigateur ;
5. Libérez la connexion TCP ;
6. Le navigateur convertit le texte html et affiche le contenu

(Pour des questions d'entretien plus connexes ; , veuillez visiter : questions et réponses d'entretien Java)

5. Quelle est la différence entre HTTP et HTTPS
HTTPS : C'est un canal HTTP destiné à la sécurité En termes simples, c'est une version sécurisée. de HTTP, c'est-à-dire HTTP La couche SSL est ajoutée ci-dessous. La base de sécurité de HTTPS est SSL, donc les détails du cryptage nécessitent SSL.
Les principales fonctions du protocole HTTPS peuvent être divisées en deux types : l'une consiste à établir un canal de sécurité des informations pour assurer la sécurité de la transmission des données ; l'autre est de confirmer l'authenticité du site Web ;
Les principales différences entre HTTPS et HTTP sont les suivantes :
1. Le protocole https nécessite de demander un certificat auprès de CA Généralement, il y a moins de certificats gratuits, donc des frais sont requis.
2. http est un protocole de transfert hypertexte et les informations sont transmises en texte brut, tandis que https est un protocole de transmission sécurisé et crypté SSL.
3. http et https utilisent des méthodes de connexion complètement différentes et utilisent des ports différents. Le premier est 80 et le second est 443.
4. La connexion http est très simple et sans état ; le protocole HTTPS est un protocole réseau construit à partir du protocole SSL+HTTP qui peut effectuer une transmission cryptée et une authentification d'identité, et est plus sécurisé que le protocole http.
6. Comment la sécurité du HTTPS est-elle mise en œuvre ?

Entretien Java sur les protocoles HTTP et HTTPS
(1) Les clients utilisent les URL https pour accéder au serveur Web. Conditions requises Établissez une connexion SSL avec le serveur Web.
(2) Après avoir reçu la demande du client, le serveur Web transmettra une copie des informations du certificat du site Web (le certificat contient la clé publique) au client.
(3) Le navigateur du client et le serveur Web commencent à négocier le niveau de sécurité de la connexion SSL, qui est le niveau de cryptage des informations.
(4) Le navigateur du client établit une clé de session en fonction du niveau de sécurité convenu par les deux parties, puis utilise la clé publique du site Web pour crypter la clé de session et la transmet au site Web.
(5) Le serveur Web utilise sa propre clé privée pour déchiffrer la clé de session.
(6) Le serveur Web utilise la clé de session pour crypter la communication avec le client.
Entretien Java sur les protocoles HTTP et HTTPS

Recommandations associées : Tutoriel d'introduction à Java

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

PHP vs Python: comprendre les différences PHP vs Python: comprendre les différences Apr 11, 2025 am 12:15 AM

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.

PHP: un langage clé pour le développement Web PHP: un langage clé pour le développement Web Apr 13, 2025 am 12:08 AM

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

Créer l'avenir : programmation Java pour les débutants absolus Créer l'avenir : programmation Java pour les débutants absolus Oct 13, 2024 pm 01:32 PM

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.

Comment exécuter votre première application Spring Boot dans Spring Tool Suite? Comment exécuter votre première application Spring Boot dans Spring Tool Suite? Feb 07, 2025 pm 12:11 PM

Spring Boot simplifie la création d'applications Java robustes, évolutives et prêtes à la production, révolutionnant le développement de Java. Son approche "Convention sur la configuration", inhérente à l'écosystème de ressort, minimise la configuration manuelle, allo

See all articles