Maison  >  Article  >  Java  >  Nouvelles questions d'entretien Java 2020-Réseau

Nouvelles questions d'entretien Java 2020-Réseau

王林
王林avant
2020-06-19 17:22:322274parcourir

Nouvelles questions d'entretien Java 2020-Réseau

1. Que représentent les codes de réponse http 301 et 302 ? Quelle est la différence ?

Réponse : 301 et 302 sont tous deux des codes d'état HTTP, et tous deux représentent qu'une certaine URL a été transférée.

Différence :

Redirection 301 : 301 représente Déplacé définitivement.

Redirection 302 : 302 représente temporairement déplacé.

(Tutoriel recommandé : Programme d'entrée Java)

2. Quelle est la différence entre transférer et rediriger ?

Forward et Redirect représentent deux méthodes de transfert de requêtes : le transfert direct et le transfert indirect.

Méthode de transfert direct (Forward), le client et le navigateur n'émettent qu'une seule requête, Servlet, HTML, JSP ou autres ressources d'informations, la deuxième ressource d'informations répond à la requête et l'enregistre dans la requête d'objet de requête. les objets sont partagés avec chaque ressource d’information.

La méthode de transfert indirect (Redirect) consiste en fait à deux requêtes HTTP. Lorsque le serveur répond à la première requête, elle permet au navigateur d'envoyer une requête vers une autre URL pour atteindre l'objectif de transfert.

Pour donner un exemple populaire :

Le transfert direct équivaut à : "A a demandé à B d'emprunter de l'argent, B a dit qu'il ne l'avait pas, B est allé voir C pour l'emprunter, et s'il ne pouvait pas l'emprunter, il transmettrait le message "Donnez-le à A"

Le transfert indirect équivaut à : "A a demandé à B d'emprunter de l'argent, mais B a dit qu'il n'en avait pas". alors il a demandé à A d'emprunter de l'argent à C."

(Tutoriels vidéo associés recommandés : Tutoriel vidéo Java)

3. Décrivez brièvement la différence entre TCP et UDP ?

TCP est orienté connexion (si vous souhaitez passer un appel, vous devez d'abord composer pour établir une connexion) ; UDP est sans connexion, c'est-à-dire qu'il n'est pas nécessaire d'établir une connexion avant) ; envoyer des données.

TCP fournit des services fiables. C'est-à-dire que les données transmises via la connexion TCP sont sans erreur, ni perdues, ni répétées et arrivent dans l'ordre ; UDP fait de son mieux pour les livrer, c'est-à-dire qu'une livraison fiable n'est pas garantie ;

Tcp permet une transmission fiable grâce à la somme de contrôle, au contrôle de la retransmission, à l'identification du numéro de séquence, à la fenêtre glissante et à la réponse de confirmation. Par exemple, le contrôle de retransmission en cas de perte de paquets peut également être utilisé pour contrôler l'ordre des paquets dans le désordre.

UDP offre de meilleures performances en temps réel et une efficacité de travail plus élevée que TCP. Il convient aux communications ou aux communications de diffusion qui nécessitent une transmission à grande vitesse et des performances en temps réel.

Chaque connexion TCP ne peut être que point à point ; UDP prend en charge la communication interactive un-à-un, un-à-plusieurs, plusieurs-à-un et plusieurs-à-plusieurs.

TCP nécessite plus de ressources système, tandis qu'UDP nécessite moins de ressources système.

4. Pourquoi TCP doit-il se serrer la main trois fois, mais pas deux ? Pourquoi?

Afin d'obtenir une transmission de données fiable, les deux parties communiquant avec le protocole TCP doivent conserver un numéro de séquence pour identifier lesquels des paquets de données envoyés ont été reçus par l'autre partie. Le processus de prise de contact à trois est une étape nécessaire pour que les deux parties communicantes s'informent mutuellement de la valeur de départ du numéro de séquence et confirment que l'autre partie a reçu la valeur de départ du numéro de séquence.

S'il n'y a que deux poignées de main, au plus seul le numéro de séquence de départ de l'initiateur de la connexion peut être confirmé, et le numéro de séquence sélectionné par l'autre partie ne peut pas être confirmé.

5. Dites-moi comment les paquets collants TCP sont générés ?

(1) L'expéditeur génère des paquets collants

Les clients et serveurs qui utilisent le protocole TCP pour transmettre des données maintiennent souvent un état de connexion long (les données sont envoyées une fois par connexion et il y a pas de paquets collants), les deux parties peuvent continuer à transmettre des données tant que la connexion n'est pas déconnectée ; mais lorsque les paquets de données envoyés sont trop petits, le protocole TCP permettra par défaut à l'algorithme Nagle de fusionner et d'envoyer ces paquets de données plus petits ( tampon L'envoi de données est un processus d'empilement) ; ce processus de fusion est effectué dans le tampon d'envoi, ce qui signifie que lorsque les données sont envoyées, elles sont déjà dans un état persistant.

Nouvelles questions dentretien Java 2020-Réseau

(2) Le récepteur génère des paquets collants

Le processus lorsque le récepteur utilise le protocole TCP pour recevoir des données est le suivant : les données vont au récepteur, du réseau La partie inférieure du modèle est transmise à la couche transport. Le traitement du protocole TCP de la couche transport consiste à le placer dans le tampon de réception, puis la couche application l'obtient activement (le langage C utilise recv, read). et d'autres fonctions); à ce moment, un problème se posera, c'est-à-dire que nous sommes La fonction de lecture des données appelée dans le programme ne peut pas extraire les données dans le tampon à temps, et les données suivantes arrivent et une partie est mise à la fin du tampon. Lorsque nous lirons les données, ce sera un paquet collant. (Vitesse de mise des données > Vitesse d'obtention des données au niveau de la couche application)

Nouvelles questions dentretien Java 2020-Réseau

Nouvelles questions dentretien Java 2020-Réseau

Si vous souhaitez en savoir plus questions d'entretien, vous pouvez visiter questions d'entretien 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