编程知识 cdmana.com

L'ensemble du réseau est le plus complet, les questions d'entrevue de base du réseau à haute fréquence, avez - vous obtenu?

CookieEtSessionLa différence entre?‍‍‍

Cookie Est l'information sur certains sites Web stockés localement après avoir visité certains sites Web,Réduire quelques étapes lors de la prochaine visite.Une autre déclaration plus précise est:Cookie Est un petit morceau de texte stocké par le serveur sur la machine locale et envoyé au même serveur avec chaque demande,Est une solution pour rester dans l'état du client.Parce que HTTP Le Protocole est apatride,Par conséquent, lorsque le serveur doit enregistrer l'état de l'utilisateur,Il faut un mécanisme pour identifier des utilisateurs spécifiques.,Ce mécanisme est Session.

CookieEtSessionC'est la solution.httpApatridie du Protocole,Les différences sont les suivantes::

1.Différents emplacements de stockage

CookieEst d'enregistrer les données de l'utilisateur dans le client par chiffrement,Dans la plupart des casCookieStocké dans un navigateur;SessionEst utilisé pour contrôler la connexion entre le client et le serveur,SessionStocké sur le serveur;

2.Capacité de stockage différente

UniqueCookieLes données stockées ne doivent pas dépasser4kb,Plus d'un site20- Oui.Cookie,Session En général, il n'y a pas de limite supérieure , Mais il est conseillé de ne pas stocker trop de choses ,Sinon, les performances sont affectées;

3.Accès différent

CookieSeulement avecASCIIString, Obtenu par codage UnicodeCaractères ou données binaires, Mauvais stockage d'informations complexes ,EtSession Capable de stocker n'importe quel type de données ;

4. Politique de confidentialité /Sécurité différente

Cookie Sur le client ,C'est possible.CookieTricher,C'est dangereux.,Session Sur le serveur ,Plus de sécurité;

5.Durée de validité différente

Cookie Les propriétés peuvent être définies pour être valides à long terme ,SessionDépendancesJSESSIONIDDeCookie,Cookie JSESSIONIDLa date d'expiration par défaut est-1, Il suffit de fermer la fenêtre SessionÇa ne marchera pas., Sans compter sur Cookie,AvecUrL La réécriture ne peut pas non plus être terminée ,SiSession Temps d'arrêt trop long , Risque de débordement de mémoire ;

6. La pression du serveur est différente

CookieEnregistrer localement, Il n'y a pas de pression du serveur ,SessionEnregistrer sur le serveur, Un par utilisateur Session,Quand les visites augmentent,Comparera les performances du serveur occupé, Si l'accent est mis sur l'atténuation des performances du serveur ,À utiliserCookie;

7. Le navigateur prend en charge différents

Si le navigateur est désactivé Cookie,AlorsCookie Défaillance directe ,Session C'est mieux ,Ça marcheURLRéécriture;

8.cookieEtsessionScénarios appliqués

cookie:État de connexion de l'utilisateur, Enregistrer les habitudes des utilisateurs , Comme un panier ;

session:Vérification de connexion;

HTTPAvecHTTPSLa différence entre‍?‍

HTTP Les données transmises par le Protocole ne sont pas chiffrées , En clair ,Alors utilisezHTTP Le Protocole de transmission de renseignements personnels est très dangereux . Afin de garantir la transmission cryptée de ces données privées , Netscape a été conçu SSL(SecureSocketsLayer)Accord surHTTPLes données transmises par le Protocole sont chiffrées,C'est ainsi qu'est néeHTTPS.En termes simples,httpSL'accord est conclu parSSL+HTTPProtocole réseau pour la construction du Protocole, Peut être utilisé pour chiffrer la transmission et l'authentification ,QueHTTPProtocole plus sûr.


HTTPEtHTTPSSont des protocoles de couche d'application,Aucune différence essentielle.La différence est,HTTPS C'est la version sécurisée HTTP,HTTPL'information est transmise en texte clair,HTTPSC'est sûr.SSLTransmission cryptée,QueHTTPProtocole plus sûr. Ils utilisent différents ports .Par défaut,HTTPUtilisation du port80,EtHTTPSUtilisation du port443.

HTTPSEtHTTPLes principales différences sont les suivantes::En général:HTTPS=SSL+HTTP.

HttpsL'accord doitcaDemande de certificat, En général, il y a très peu de certificats gratuits ,C'est pour ça que ça coûte cher..

HttpEst un Protocole de transfert hypertexte, L'information est transmise en texte clair ,httpsC'est sûr.sslProtocole de transport chiffré.

HttpEthttps .Utilisez des méthodes de connexion complètement différentes et des ports différents .Le premier est80,Ce dernier est443( C'est juste un autre port par défaut , Peut en fait changer ).

httpLa connexion est très simple et apatride;HttpSL'accord est conclu parSSL+HTTPProtocole réseau pour la construction du Protocole, Peut être utilisé pour chiffrer la transmission et l'authentification .C'est plus queHTTPProtocole plus sûr.

\

getDemandes etpostDistinction demandée?‍

1. Présentation des données

  • GET La méthode consiste généralement à obtenir des données du serveur ,Paramètres de demande(Chaîne de requête) Juste derrière URL,Suivi de?PartitionURLEt transmettre des données, Entre les paramètres &(?1 = value1 & key2 = value2), Peut être placé directement dans la barre d'adresse du navigateur .Par exemple, La connexion est faite en utilisant GETMéthodes.
    Exemple:log in . action name = itester & password = idonknow & verify = % E4 % BD % A0 % E5 % a5 % BD.Si les données sont en lettres anglaises/Nombre, Envoyer tel quel ,Si c'est un espace,Convertir en+,En chinois/Autres caractères,Directement.BASE64Chaîne de chiffrement,Les résultats sont les suivants::%E4 %BD%A0%E5%A5%BD,Parmi eux%XXDansXX Est représenté par un symbole hexadécimal ASCII.

    POST Signifie que le client soumet les données du formulaire au serveur , Les données seront placées dans le champ de données de la demande ,Avec& Champs séparés . La ligne de requête ne contient pas de paramètres de données , La barre d'adresse n'a pas non plus d'autres paramètres .Donc,,POST Soumis par formulaire , Les paramètres de la requête sont placés dans le corps . Comme l'inscription de nouveaux utilisateurs sur une page web 、Questionnaire、 Toutes les réponses sont POSTDe la façon dont.


    \

2. Taille des données soumises /Longueur

  • Get Est entré directement dans la barre d'adresse du navigateur ,Impact directURLLongueur.Mais,InHTTP Dans la spécification de l'Accord URLIl n'y a pas de limite à la longueur.C'est exact.URL La limite de longueur est affectée par le support différent du client ou du serveur :Par exemple,IEC'est exact.URLLa limite de longueur est2083Octets(2K+35).Pour d'autres navigateurs, Comme Netscape 、Firefox, etc..,Théoriquement, il n'y a pas de limite de longueur, Et cette limite dépend du support du système d'exploitation . En raison des restrictions du Navigateur ,ToutURL Peut être très long ,Mais pas plus que2049KBLimite de taille pour, Il n'y a pas de limite de taille .\

  • postLe mode estHTTP Aucune restriction dans les spécifications du Protocole , Mais ce qui limite la capacité du processeur serveur .Donc,, Les limites de taille sont toujours soumises à chaque web Effets des différentes configurations du serveur .

3. Sécurité des données soumises

  • Parce queget Les paramètres de sont directement liés dans la barre d'adresse du navigateur URLMoyenne, Le nom d'utilisateur et le mot de passe apparaîtront en texte clair dans URLAllez., Exposition à Internet ,Mauvaise sécurité, Impossible de transmettre des informations sensibles .
  • post Les paramètres de la requête sont placés dans le corps , Soumettre par les données du formulaire .postQuegetPlus sûr.
  • get Faible sécurité de la méthode ,Pour les raisons suivantes:
  • La page de connexion peut être mise en cache par le navigateur ;
  • Voir l'historique du navigateur par d'autres , Puis quelqu'un d'autre peut obtenir un compte et un mot de passe ;
  • Lors d'une attaque inter - site , Moins de sécurité ;\

4.Mode de codage

  • get Les paramètres de ne peuvent être pris en charge que ASCII;
  • postIl n'y a pas de limite,Les données binaires sont également autorisées;\

5.Mode de demande

  • get Est d'obtenir la ressource spécifiée ;
  • post Est de soumettre les données à traiter à la ressource spécifiée ;

6.Corps demandeur

  • getAucun corps demandeur;
  • postIl y a un corps demandeur;

7.Efficacité

  • getProduire untcpPaquet de données;
  • postDeuxtcpPaquet de données,postIl faut deux étapes, Ça prend un peu plus de temps. ,getQuepostPlus efficace;

8.Processus de demande

  • PourgetDemande de mode,Le navigateur vahttp headerEtdataEnvoyé ensemble,Réponse du serveur200(Retour des données),getProcessus de demande:

1)Demande du NavigateurtcpConnexion(Première poignée de main);

2) Le serveur accepte tcpConnexion(Deuxième poignée de main);

3) Confirmation du navigateur ,Et envoyerget En - tête et données de la demande (Troisième poignée de main, Ce message est petit. ,Alors... http La première transmission de données aura lieu à ce moment );

4)Le serveur retourne200OKRéponse;

  • Et pourpost,Le navigateur envoie d'abordheader,Réponse du serveur100continue,Navigateur à envoyerdata,Réponse du serveur200ok(Retour des données),postProcessus de demande:

1)Demande du NavigateurtcpConnexion(Première poignée de main);

2) Le serveur accepte tcpConnexion(Deuxième poignée de main);

3) Confirmation du navigateur ,Et envoyerpostEn - tête de la demande(Troisième poignée de main, Ce message est petit. ,Alors... http Oui. La première transmission de données est effectuée à ce moment );

4)Le serveur retourne100 ContinueRéponse;

5) Le navigateur envoie des données ;

6)Le serveur retourne200 OKRéponse;

OSI Le rôle du modèle à sept niveaux est ?‍

1.Couche d'application

OSI La couche la plus proche de l'utilisateur du modèle de référence fournit une interface d'application pour l'utilisateur de l'ordinateur , Divers services de réseautage sont également offerts directement aux utilisateurs . Nos protocoles de service réseau de couche d'application couramment utilisés comprennent HTTP、HTTPS、FTP、POP3、SMTPAttendez..

2.Couche de présentation

Fournir diverses fonctions de codage et de conversion pour les données de la couche application , .Garantir que les données transmises par la couche application d'un système peuvent être identifiées par la couche application d'un autre système .Si nécessaire, Cette couche peut fournir une représentation standard , .Utilisé pour convertir les différents formats de données à l'intérieur de l'ordinateur en représentations standard utilisées dans la communication ;

3.Niveau de session

Responsable de l'établissement、 Gérer et mettre fin aux sessions de communication entre les entités de la couche de présentation . .Cette couche de communication se compose de demandes de service et de réponses entre les applications dans différents appareils ;

4.Couche de transmission

Un lien de bout en bout est établi entre les hôtes , Le rôle de la couche transport est de fournir un service de transfert de données fiable et transparent de bout en bout pour le Protocole de couche supérieure , Y compris le contrôle des erreurs et le contrôle du débit . Cette couche protège les détails de la communication de données de la couche inférieure de la couche supérieure , De sorte que l'utilisateur supérieur ne puisse voir que des chemins de données fiables de l'hôte à l'hôte entre deux entités de transport , Peut être contrôlé et réglé par l'utilisateur .On dit souvent:TCP/ UDP Juste à ce niveau . Le numéro de port ici est “end”;

5.Couche réseau

AdoptionIP Adressage pour établir une connexion entre deux noeuds ,Paquets envoyés pour la couche de transport à la source,Sélectionner les noeuds de routage et de commutation appropriés,Transmettre correctement l'adresse à la couche de transport à destination;

6.Couche de liaison de données


Combiner les bits en octets , Puis Combinez les octets en cadres , Utiliser l'adresse de la couche de liaison (Utilisation EthernetMACAdresse)Accès aux médias, Et effectuer la détection des erreurs . La couche liaison de données est divisée en deux sous - couches : Sous - couche de contrôle de liaison logique et sous - couche de contrôle d'accès aux médias . Traitement du sous - niveau de contrôle de l'accès aux médias CSMA/ Algorithme de disque optique 、Vérification des erreurs de données、 Framing, etc. .LLC Les sous - couches définissent certains champs , Permettre au dernier Protocole de partager la couche de liaison de données .En fait,,LLC Les sous - couches ne sont pas nécessaires ;

\

7.Couche physique


La transmission du signal réel est réalisée par la couche physique , Le flux binaire est transmis sur un support physique . Niveau spécifié 、 Vitesse et broches de câble . L'équipement couramment utilisé comprend: (Divers équipements physiques)Hub、Répéteur、Modem、Câble réseau、 Paires Torsadées et câbles coaxiaux , Ce sont les supports de transmission de la couche physique .

Édition Recherche de photos\

Veuillez décrire brièvementTCPTrois poignées de main et quatre vagues?‍

1.Trois poignées de main

Trois poignées de main font référence au processus de création d'une connexion :Tout d'abord,,Le client envoie une demande au serveur, Demande si les données peuvent être envoyées ;Après réception de la demande par le serveur,Si vous êtes d'accord, Le message de confirmation sera répondu ; Dès réception du message de confirmation , Le client commence à envoyer des données .


Première poignée de main:Lors de l'établissement de la connexion, .Le client envoie un message de demande au serveur (SYN),“ Je veux établir une connexion ”;

Deuxième poignée de main: Après réception du message de demande , Si le serveur accepte la connexion , Envoyer un message de confirmation au client (SYN/ACK),“Accord sur la création”;

Trois poignées de main: Une fois que le client a reçu la confirmation du serveur , Envoyer un autre message de confirmation au serveur ,Connexion terminée(ACK);

2. Fais signe quatre fois

L'onde quadratique est le processus de déconnexion :Le client envoie une demande au serveur, Demande s'il est possible de déconnecter ; Le serveur répondra à son état actuel ; Si le serveur est prêt , Il enverra une demande de déconnexion au client . Si vous n'êtes pas prêt , Les données ne répondent pas. , Il attendra que la réponse soit terminée avant d'envoyer la demande au client ;Enfin, Déconnecter le serveur et le client .


Première vague: Le client veut rompre , Envoyer un message au serveur (FIN);

Deuxième vague: Le serveur informe le client que la requête Wave a été acceptée ,Et renvoie un message de confirmation(ACK), Mais je ne suis pas prêt à rompre. ;

Troisième vague: Serveur prêt à rompre aviser le client (FIN);

Quatrième vague:Le client envoie un message au serveur(ACK) Confirmer la rupture , Le serveur ferme la connexion .

Entrée du navigateurURL Pour rendre la page et ce qui s'est passé ?‍

1. Saisissez d'abord l'URL dans la barre d'adresse du navigateur , Analyser d'abord l'URL , Vérifier si le site Web est légal ;


2. Le navigateur vérifie d'abord le cache du navigateur -Cache système-Cache du routeur,S'il y en a dans le cache, Le contenu de la page sera affiché directement à l'écran .Si ce n'est pas le cas, Passez à l'étape 3.


Cache du Navigateur: Le navigateur enregistrera pendant un certain temps DNS, Donc ce n'est que la première analyse DNSLieu de la demande;Cache du système d'exploitation: Si cet enregistrement n'est pas inclus dans le cache du navigateur , Le système appelle le système d'exploitation pour obtenir les enregistrements du système d'exploitation ( Enregistrer la dernière DNSCache de requête);

Cache du routeur: Si aucune des deux étapes ci - dessus ne peut être obtenue avec succès DNSEnregistrement, Continuer à rechercher le cache du routeur ;

ISPCache: Si tout ce qui précède échoue ,Continuez à chercher.ISP.


3.EnvoyerhttpAvant la demande, Résolution du nom de domaine requise (DNSAnalyse)Pour obtenir la correspondanceIPAdresse.


4. Lancé par le navigateur avec le serveur TCPConnexion, Et construit avec le Navigateur TCPTrois poignées de main.


5.Après une poignée de main réussie, Le navigateur envoie un HTTPDemande,Demander un paquet.


6.Le serveur traite les demandes reçues, Et retourner les données au navigateur .


7.Le navigateur a reçuHTTPRéponse.


8. Le navigateur décode la réponse , Si la réponse peut être mise en cache , Est stocké dans le cache .


9. Le navigateur envoie une demande pour obtenir l'intégration dans HTMLRessources dans(HTML、CSS、JavaScript、Photos、La musique...), Une boîte de dialogue apparaît pour un type inconnu .


10.Le navigateur envoie une demande asynchrone.


11.Enfin, Rendre toutes les pages .

Édition Recherche de photos

FréquentHTTPCode d'état‍

À propos de commonHTTPCode d'état, C'est une question que les interviews posent souvent .

Code d'état Catégorie
1XX Code d'état informatif
2XX Code d'état de succès
3XX Code d'état de redirection
4XX Code d'état d'erreur du client
5XX Code d'état d'erreur du serveur

FréquentHTTPCode d'état:

1.1XX

  • 100 Continue:Ça veut dire normal, Le client peut continuer à envoyer la demande
  • 101 Switching Protocols:Protocole de commutation,Le serveur change de protocole à la demande du client.

2.2XX

  • 200 OK:Demande acceptée
  • 201 Created:Créé, Indique que la demande a été acceptée et qu'une nouvelle ressource a été créée
  • 202 Accepted:Accepté, Demande acceptée ,Mais le traitement n'est pas terminé.
  • 204 No Content:Aucun contenu,Le serveur a été traité avec succès,Mais rien n'est retourné.
  • 205 Reset Content:Réinitialiser le contenu,Traitement du serveur réussi, Le client doit réinitialiser la vue du document .
  • 206 Partial Content:Indique que le client a fait une demande de portée, Le message de réponse doit contenir: Content-RangeContenu de l'entité pour une plage spécifiée

3.3XX

  • 301 Moved Permanently:Redirection permanente
  • 302 Found:Redirection temporaire
  • 303 See Other:Et301Fonctionnalité similaire, Mais le client doit adopter getMéthode d'obtention des ressources
  • 304 Not Modified:La ressource demandée n'a pas été modifiée,Lorsque le serveur retourne ce code d'état,Aucune ressource retournée.
  • 305 Use Proxy:La ressource demandée doit être accessible par procuration
  • 307 Temporary Redirect:Redirection temporaire,Avec302Similaire,Utilisation requisegetDemande de redirection.

4.4XX

  • 400 Bad Request:Erreur de syntaxe demandée par le client,Le serveur ne comprend pas.
  • 401 Unauthorized: Indique que la demande envoyée nécessite des renseignements d'authentification .
  • 403 Forbidden: Le serveur comprend la demande de l'utilisateur , Mais a refusé d'exécuter la demande
  • 404 Not Found:Le serveur n'a pas pu trouver la ressource à la demande du client.
  • 405 Method Not Allowed:Méthode interdite dans la demande du client
  • 406 Not Acceptable:Le serveur n'a pas pu compléter la requête en fonction des propriétés de contenu demandées par le client.
  • 408 Request Time-out:Le serveur attend trop longtemps les demandes envoyées par le client,Temps mort.

5.5XX

  • 500 Internal Server Error:Erreur interne du serveur,Impossible de remplir la demande
  • 501 Not Implemented:Le serveur ne supporte pas la fonctionnalité demandée,Impossible de remplir la demande

Si une connexion a été établie,Mais que se passe - t - il si le client échoue soudainement?‍

SiTCPConnexion établie, Et le client a soudainement échoué pendant la communication , Alors le serveur n'attendra pas éternellement , Fermez la connexion plus tard. .Le principe estTCP Il y a un mécanisme de survie , Principalement utilisé pour la détection côté serveur déjà établie TCP État du client lié , Empêcher le côté serveur Linux Que vous pouvez créer dans votre système TCP Le nombre total de liens est limité et maintenu TCPLiens.

Principe du mécanisme de survie :ParamètresTCP Temps de survie du mécanisme de survie ,C'est - à - dire dansTCP .Envoyer un message de détection d'activation lorsque le lien dépasse ce temps , Sans aucune interaction de données ; .Définissez l'intervalle d'envoi du message de détection d'activation à l'intervalle d'activation ;; Définir le temps total d'envoi du message de détection d'activité de maintien , Tenir le compte . Si le message de détection de l'activité de conservation du temps de comptage de conservation n'a pas reçu de réponse du client , Le serveur va fermer avec le client TCPLiens.

TCP Et UDP Différences et scénarios d'application?‍

1.TCPEtUDPLa différence

Face à la connexion vs Pas de connexion

Fiabilité:TCP Fiable,Perte de paquets retransmission;UDP Pas fiable.

Ordre:TCP L'utilisation des numéros de série garantit l'ordre des données ( Les données seront triées à l'arrivée )

Vitesse:TCP Créer une connexion, Vitesse plus lente ;UDP Plus vite.

TCP Mode de flux,UDP Mode message

2.TCPEtUDPScénario d'application

TCP:

Lorsque la qualité des communications réseau est requise ,Par exemple,:L'ensemble des données doit être transmis à l'autre partie avec exactitude,Ceci est souvent utilisé pour des applications qui nécessitent une fiabilité,Par exemple, HTTP、HTTPS、FTP .Attendre le Protocole de transfert des fichiers,POP、SMTP Protocole d'attente pour le transfert de courrier.Dans la vie quotidienne,Utilisation courante TCP Le Protocole est appliqué comme suit: :

  • World Wide Web(HTTP);
  • Le courrier(POP、SMTP);
  • Transfert de fichiers(FTP);

UDP:

Lorsque la qualité de la communication réseau n'est pas élevée, Il faut que le réseau communique aussi vite que possible ,Vous pouvez utiliser UDP. Utilisation courante dans la vie quotidienne UDP L'application du Protocole est la suivante: :Voix,Vidéo.

版权声明
本文为[Test logiciel petit p]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/11/20211125174848773n.html

Scroll to Top