Understanding RFCs
REST API jsou postavené nad HTTP protokolem, který je velmi dobře standardizován. Od svého počátku je HTTP protokol popisován pomocí dokumentů RFC (Request For Comment). RFC mají svůj životní cyklus, který se s rostoucím počtem uživatelů Internetu výrazně zpomalil. V současné době RFC dokonce často „dohánějí” běžnou praxi. RFC nejsou standardem ve smyslu ISO, ale spíše doporučením, které většina organizací vytvářejících software dodržuje. Právě tento fakt se reflektuje i do označení jednotlivých RFC.
Hledání v RFC
Pro vyhledávání v RFC je nejjednodušší použít vyhledávač Google a zadat frázi společně se suffixem "RFC". Například pro nalezení RFC popisujícího HTTP hlavičku Accept
:

Z výsledků doporučuji používat webovou stránku tools.ietf.org

Struktura RFC dokumentu
RFC se skládá z hlavičky, názvu RFC, abstraktu, obsahu a dále samotného textu. Před analýzou RFC je nezbytné ověřit hlavičku RFC, zda je dokument stále aktuální. Níže je ukázka hlavičky RFC 7231 včetně popisu jednotlivých částí.

Sekce | Význam |
---|---|
Request for Comments | identifikátor RFC |
Obsoletes | RFC nahrazuje některá starší |
Obsoleted by | RFC je zastaralé a nahrazené jiným |
Updates | RFC, která zobrazené RFC aktualizuje |
Status RFC | Proposed Standard |
Pravá část hlavičky dále odkazuje na opravy (Errata exist) a seznam autorů.
Pro vývojáře je velmi důležité sledovat, zda zobrazené RFC není již zastaralé a nahrazené (Obsoleted by) či aktualizované (Updated by). Například v uvedené ukázce je RFC 7231 již nahrazené novým RFC 9110. Stalo se tak poměrně nedávno (v roce 2022).
Životní cyklus RFC se za dobu existence organizace IETF již změnil a proto jsou aktuálně uznávané standardy označovány různě:
Označení životní fáze | Popis |
---|---|
Draft Standard | uznané standardy, staré označení dle RFC 2026 |
Proposed Standard | uznané standardy, nové označení dle RFC 6410 |
Internet Standard | internetový standard, dle RFC 6410, dospělejší než Proposed Standard |
Best Current Practice | téměř standard, doporučuji respektovat |
Všechny výše uvedené životní fáze RFC by vývojář měl respektovat.