Disons que vous allez chez le dentiste pour vous faire arracher une dent.
Lorsque la réceptionniste vous demande votre nom, ce sont les informations dont elle a besoin pour commencer le rendez-vous. Dans cet exemple, votre nom est une information contextuelle . Ainsi, dans le cadre d'une visite chez le dentiste, vous devez fournir votre nom pour vous faire arracher la dent.
Maintenant, disons que vous vous dirigez vers la banque.
À la banque, vous demandez de retirer 100 $. Le caissier doit établir votre identité avant de vous donner de l'argent, vous devrez donc probablement lui montrer un permis de conduire ou glisser votre carte de guichet automatique et entrer votre code PIN. Quoi qu'il en soit, ce que vous fournissez est le contexte . Le caissier utilise ces informations pour faire avancer la transaction. Ils peuvent ensuite vous demander sur quel compte vous souhaitez effectuer un retrait. Lorsque vous répondez «Mon compte d'épargne» , c'est encore plus de contexte .
Plus vous donnez de contexte, plus l'autre partie a de connaissances pour vous aider à traiter votre demande. Parfois, le contexte est facultatif (comme saisir de plus en plus de mots dans votre recherche Google pour obtenir de meilleurs résultats) et parfois il est nécessaire (comme fournir votre code PIN au guichet automatique). Quoi qu'il en soit, ce sont les informations qui aident généralement à faire avancer les choses.
Maintenant, disons que vous prenez vos 100 $ et achetez un billet d'avion pour voler dans un endroit chaud pendant que votre bouche guérit.
Vous arrivez dans une belle destination ensoleillée, mais votre sac n'y arrive pas. Il est perdu quelque part dans le système aéroportuaire. Ainsi, vous apportez votre «ticket de retrait des bagages» (cet autocollant avec le code-barres dessus) au «bureau des bagages perdus». La première chose que la personne derrière le comptoir demandera est ce billet avec votre numéro de bagage dessus. C'est un exemple de contexte requis .
Mais ensuite, le bagagiste vous demande plus d'informations sur votre sac afin de pouvoir le retrouver plus facilement. Ils demandent: " De quelle couleur est-ce? De quelle taille s'agit-il? Y a-t-il des roues? Est-ce que c'est dur ou mou? Bien qu'ils n'aient pas nécessairement besoin de ces informations, cela permet de réduire les choses si vous les fournissez. zone problématique. Cela rend la recherche beaucoup plus rapide. C'est un contexte facultatif .
Voici la partie intéressante: pour de nombreux logiciels et API, le contexte requis finit généralement comme des paramètres réels dans une signature de méthode, et le contexte facultatif va ailleurs, comme une carte clé-valeur flexible qui peut contenir n'importe quoi (et peut être vide ) ou dans le stockage local du thread où il peut être consulté si nécessaire.
Les exemples ci-dessus sont tirés de la vie réelle, mais vous pouvez facilement les mapper à des domaines de l'informatique. Par exemple, les en-têtes HTTP contiennent des informations contextuelles. Chaque en-tête concerne des informations sur la demande en cours. Ou lorsque vous envoyez un ID de transaction global dans le cadre d'un processus de validation en deux phases , cet ID de transaction est le contexte. Cela aide le gestionnaire de transactions à coordonner le travail car il s'agit d'informations sur la tâche globale à accomplir.
J'espère que cela pourra aider.