Web API - HTTP hlavičky
V kontextu API je práce s HTTP hlavičkami klíčovou součástí správné komunikace mezi klientem a serverem. Hlavičky HTTP poskytují důležité informace, které ovlivňují, jak se požadavky zasílají a jak jsou odpovědi interpretovány. Tyto informace mohou zahrnovat údaje o typu obsahu, autentizaci, kompresi dat a mnoho dalších aspektů komunikace. Správné nastavení a interpretace těchto hlaviček je nezbytné pro zajištění bezpečnosti, efektivity a kompatibility různých částí systému. V této kapitole se podrobně zaměříme na popis vybraných polí v HTTP hlavičce a na to.
Hlavička | Hodnota |
---|---|
Accept-Encoding |
Pole Accept-Encoding v hlavičce HTTP požadavku informuje server o tom, jaké metody komprese je klient schopen rozpoznat a přijmout. Web API systému ABRA Gen podporuje kompresi gzip. |
Accept |
Pole Accept určuje, jaké typy médií (MIME typy) je klient ochoten přijmout jako odpověď od serveru. Tímto způsobem klient informuje server o formátech obsahu, které může správně zpracovat. Například, nastavením Accept na application/json klient říká, že preferuje nebo očekává odpověď ve formátu JSON. Tento mechanismus pomáhá zajistit, že komunikace mezi klientem a serverem bude efektivní a že data budou vyměňována v požadovaném formátu. |
X-Request-ID |
Volitelná hlavička. Pokud není vyplněna uživatelem, systém automaticky vygeneruje unikátní identifikátor (GUID) a přidá ho jako hlavičku do zpracovávaného požadavku. Tato identifikace se pak objevuje v logovacích záznamech obou částí systému. A to jak na straně javovského serveru (logování pomocí APIServer.yaml), tak na straně klientské aplikace (logování business logiky pomocí nexus.cfg). V logovacích záznamech je identifikátor uvozen jako "rid". Smyslem této hlavičky je snadná identifikace konkrétního požadavku v obou lozích. Mějme následující požadavek na endpoint /firms:
Výpis z logu nastaveném v APIServer.yaml:
Výpis z logu nastaveném pomocí v NEXUS.CFG:
|
Seznam nejčastěji používaných hlaviček a jejich popis je dostupný, např. zde.