Maison >Java >JavaQuestions d'entretien >Questions d'entretien d'embauche pour stagiaire Java 2023 - Protocoles HTTP et HTTPS

Questions d'entretien d'embauche pour stagiaire Java 2023 - Protocoles HTTP et HTTPS

王林
王林avant
2020-10-30 16:38:373285parcourir

Questions d'entretien d'embauche pour stagiaire Java 2023 - Protocoles HTTP et HTTPS

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.

(Partage du tutoriel vidéo : cours java)

2. Caractéristiques du protocole HTTP

Aucune connexion : Le sens de l'absence de connexion est de limiter chaque connexion. pour traiter uniquement une demande. 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.
Apatride : 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'instruction – indique que la demande a été reçue, continuez le traitement
2xx : réussite – indique que la demande a été reçue et comprise avec succès, et accepté
3xx : Redirection – une action supplémentaire est nécessaire pour terminer la demande
4xx : Erreur client – ​​la demande contient une erreur de syntaxe ou la demande ne peut pas être satisfaite
5xx : Erreur côté serveur – le serveur n'a pas réussi à répondre à une demande légitime

Codes d'état courants :

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

4. Comment fonctionne HTTP

Le protocole HTTP définit la manière dont le client Web demande une page Web au 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, établit un TCP avec le port HTTP du serveur Web (la valeur par défaut est 80) Connexion prise. 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 quatre parties : la ligne de requête, l'en-tête de requête, la ligne vide et les données de requête.
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.

(Questions d'entretien associées recommandées : questions et réponses d'entretien Java)

4. Libérez la connexion TCP
Si le mode de connexion est fermé, le serveur active ferme la connexion TCP, le client ferme passivement la connexion et libère la connexion TCP ; si le mode de connexion est keepalive, la connexion sera maintenue pendant un certain temps et les demandes pourront continuer à être reçues pendant ce temps ; Le navigateur client analyse le contenu HTML
Le navigateur client 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 suivrez 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 ;

5. HTTPS ?

HTTPS : C'est un canal HTTP ayant pour objectif la sécurité. En termes simples, c'est HTTP. La version sécurisée consiste à ajouter la couche SSL sous HTTPS. 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 certains 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 assurée

Questions dentretien dembauche pour stagiaire Java 2023 - Protocoles HTTP et HTTPS

(1) Le client utilise l'URL https pour accéder au serveur Web et nécessite qu'une connexion SSL soit établie avec le serveur Internet.
(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.

Questions dentretien dembauche pour stagiaire Java 2023 - Protocoles HTTP et HTTPS

Recommandations associées : Démarrer avec 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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer