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

Oct 30, 2020 pm 04:38 PM
java Questions d'entrevue

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 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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

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 !

Article chaud

Rimworld Odyssey Comment pêcher
4 Il y a quelques semaines By Jack chen
Puis-je avoir deux comptes Alipay?
4 Il y a quelques semaines By 下次还敢

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)

Sujets chauds

Tutoriel PHP
1505
276
Les touches de volume sur le clavier ne fonctionnent pas Les touches de volume sur le clavier ne fonctionnent pas Aug 05, 2025 pm 01:54 PM

Tout d'abord, CheckifThefnKeySettingisInterferingyTryingBothThevolumeKeyAlonEndfn volumeKey, thentogglefnlockwithfn espifavailable.2.enterbios / uefidUringbootAnableFunctionKeysordiSablehotKeyModetoenSureVolumeSarereCognined.3.updateorreinstallAdriodriving

La visionneuse PDF Edge ne fonctionne pas La visionneuse PDF Edge ne fonctionne pas Aug 07, 2025 pm 04:36 PM

TestThepdfinanotherApptodetermineIftheissueiswiththefileoredge.2.EnBlEthebuilt-inpdfViewerByTurningOff "AlwaysOpenpdffilesexternal" et "DownloadPdffiles" inedgestoSolver.

Propriétés calculées vs méthodes en Vue Propriétés calculées vs méthodes en Vue Aug 05, 2025 am 05:21 AM

Calculé a un cache et les accès multiples ne sont pas recalculés lorsque la dépendance reste inchangée, tandis que les méthodes sont exécutées à chaque fois qu'elles sont appelées; 2.COMPUT est adapté aux calculs basés sur des données réactives. Les méthodes conviennent aux scénarios où les paramètres sont requis ou les appels fréquents, mais le résultat ne dépend pas de données réactives; 3.Coupation prend en charge les getters et les setters, ce qui peut réaliser la synchronisation bidirectionnelle des données, mais les méthodes ne sont pas prises en charge; 4. Résumé: Utilisez d'abord calculé pour améliorer les performances et utilisez des méthodes lors de la réussite des paramètres, de l'exécution d'opérations ou d'éviter le cache, en suivant le principe de "Si vous pouvez utiliser calculé, vous n'utilisez pas de méthodes".

Apache Performance Tuning Best Practices Apache Performance Tuning Best Practices Aug 05, 2025 am 06:59 AM

Useeventmpmforhigh-concurrencyworkloads, en particulier avec le-fpm, orpreforkonlyifrequiredByNon-thread-saamodules.2.enable greeptivewithmaxkeepalivereonstSetttotto100 et greepaliveTtimeoutbetweend2–5secondstobalanceCectionreAnseRedResourceusage.

passer par l'exemple exécutant un sous-processus passer par l'exemple exécutant un sous-processus Aug 06, 2025 am 09:05 AM

Exécutez le processus enfant à l'aide du package OS / EXEC, créez la commande via exec.command mais ne l'exécutez pas immédiatement; 2. Exécutez la commande avec .output () et attrapez stdout. Si le code de sortie est non nul, return exec.exiterror; 3. Utilisez .Start () Pour démarrer le processus sans blocage, combinez avec .StoutPipe () pour diffuser la sortie en temps réel; 4. Entrez les données dans le processus via .stDinpipe (), et après avoir écrit, vous devez fermer le pipeline et appeler .wait () pour attendre la fin; 5. exec.exiterror doit être traité pour obtenir le code de sortie et le stderr de la commande raté pour éviter les processus zombies.

Python Vérifiez si le chemin est un exemple de répertoire Python Vérifiez si le chemin est un exemple de répertoire Aug 04, 2025 pm 02:12 PM

La méthode la plus courante consiste à utiliser os.path.isdir () ou pathlib.path.is_dir (). 1. Utilisez os.path.isdir (): importos, path = "/ path / to / your / répertoire", ifos.path.isdir (path): print ("Ceci est un répertoire") else: print ("Ce n'est pas un répertoire ou un chemin n'existe pas"). 2. Utilisez Pathlib.path.is_dir () (recommandé): FromPathlibImportp

Pouvez-vous expliquer la surcharge de méthode et la mise en place de la méthode en Java? Pouvez-vous expliquer la surcharge de méthode et la mise en place de la méthode en Java? Aug 06, 2025 am 07:41 AM

La surcharge de méthode et la surcharge de méthode sont deux mécanismes pour la mise en œuvre du polymorphisme en Java. 1. La surcharge de méthode se produit dans la même classe. Il nécessite le même nom de méthode mais la liste des paramètres différentes (nombre, type ou ordre des paramètres), qui appartient au polymorphisme de compilation. Le type de retour peut être différent mais ne peut pas être surchargé par le type de retour seul. Il peut y avoir différents modificateurs d'accès et déclarations d'exception; 2. La réécriture de la méthode se produit dans la relation d'héritage. La sous-classe fournit la mise en œuvre spécifique des méthodes existantes de la classe parent. Il nécessite la même signature de méthode et le type de retour est compatible. Le modificateur d'accès ne peut pas être plus strict. Il appartient au polymorphisme d'exécution. La méthode d'instance doit être utilisée et la réécriture correcte peut être assurée par l'annotation @Override. Ensemble, les deux améliorent la lisibilité et l'évolutivité du code.

Optimisation de boucles FOFEACH imbriquées pour des structures de données complexes Optimisation de boucles FOFEACH imbriquées pour des structures de données complexes Aug 06, 2025 pm 12:53 PM

Pour optimiser les boucles de Foreach imbriquées, les itérations redondantes doivent être évitées en premier et la complexité temporelle peut être réduite de O (n × m) à O (n m); Deuxièmement, si la structure n'est pas vraiment hiérarchique, les données doivent être aplaties à l'aide de méthodes telles que SelectMany; Troisièmement, sautez à l'avance ou sautez un traitement inutile par jugement conditionnel; Quatrièmement, sélectionnez les structures de données appropriées telles que les ensembles de dictionnaire ou de hachage pour améliorer l'efficacité de la recherche; Cinquièmement, la parallélisation peut être utilisée avec prudence lorsque les opérations sont indépendantes et prennent du temps; Sixièmement, extraire la logique complexe dans des méthodes ou des requêtes indépendantes pour améliorer la lisibilité et la maintenabilité. Le cœur de l'optimisation est de réduire la complexité, d'organiser raisonnablement les données et d'évaluer toujours la nécessité de nicher, en fin de compte de code efficace, clair et extensible.

See all articles