Powiedzmy, że idziesz do dentysty, aby wyrwać ząb.
Kiedy recepcjonistka zapyta Cię o imię i nazwisko, są to informacje, których potrzebuje, aby rozpocząć wizytę. W tym przykładzie Twoje imię jest informacją kontekstową . Dlatego w kontekście wizyty u dentysty musisz podać swoje imię i nazwisko, aby wyrwać ząb.
Teraz powiedzmy, że idziesz do banku.
W banku prosisz o wypłatę 100 $. Kasjer musi ustalić Twoją tożsamość przed przekazaniem Ci pieniędzy, więc prawdopodobnie będziesz musiał pokazać mu prawo jazdy lub przeciągnąć kartę bankomatową i wprowadzić numer PIN. Tak czy inaczej, podajesz kontekst . Kasjer wykorzystuje te informacje, aby przesunąć transakcję do przodu. Mogą wtedy zapytać, z którego konta chcesz się wycofać. Kiedy odpowiadasz „Moje konto oszczędnościowe” , jest to jeszcze bardziej kontekst .
Im więcej podasz kontekstu, tym więcej wiedzy ma druga strona, aby pomóc w załatwieniu Twojej prośby. Czasami kontekst jest opcjonalny (np. Wpisywanie coraz większej liczby słów w wyszukiwarce Google, aby uzyskać lepsze wyniki), a czasami jest wymagany (np. Podanie numeru PIN w bankomacie). Tak czy inaczej, są to informacje, które zwykle pomagają załatwić sprawę.
Teraz powiedzmy, że bierzesz swoje 100 $ i kupujesz bilet lotniczy, aby polecieć w ciepłe miejsce, podczas gdy twoje usta goją się.
Docierasz do ładnego słonecznego miejsca, ale Twoja torba nie dotrze. Zgubił się gdzieś w systemie lotniskowym. Dlatego należy zabrać „bilet odbioru bagażu” (naklejkę z kodem kreskowym) do „biura zagubionego bagażu”. Pierwszą rzeczą, o którą poprosi osoba za biurkiem, jest bilet z numerem Twojego bagażu. To jest przykład wymaganego kontekstu .
Ale wtedy osoba zajmująca się bagażem prosi Cię o dodatkowe informacje na temat Twojego bagażu, np. W celu ułatwienia jej znalezienia. Pytają: „ Jaki to kolor? Jaki to rozmiar? Czy ma koła? Czy jest twardy czy miękki? Chociaż niekoniecznie potrzebują tych informacji, pomaga to zawęzić zakres, jeśli je podasz. Zmniejsza to problem. To znacznie przyspiesza wyszukiwanie. To opcjonalny kontekst .
Oto interesująca część: dla wielu programów i interfejsów API wymagany kontekst zwykle kończy się jako rzeczywiste parametry w sygnaturze metody, a kontekst opcjonalny idzie gdzie indziej, jak elastyczna mapa klucz-wartość, która może zawierać cokolwiek (i może być pusta ) lub do magazynu lokalnego wątku, gdzie można uzyskać do niego dostęp w razie potrzeby.
Powyższe przykłady pochodzą z prawdziwego życia, ale można je łatwo przypisać do obszarów informatyki. Na przykład nagłówki HTTP zawierają informacje kontekstowe. Każdy nagłówek dotyczy informacji o wysyłanym żądaniu. Lub gdy wysyłasz globalny identyfikator transakcji jako część procesu zatwierdzania dwufazowego , ten identyfikator transakcji jest kontekstem. Pomaga menedżerowi transakcji koordynować pracę, ponieważ zawiera informacje o ogólnym zadaniu.
Mam nadzieję, że to pomoże.