2 min read

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:

image-20220419200455325

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

image-20220419200705535

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í.

image-20240213131457341
SekceVýznam
Request for Commentsidentifikátor RFC
ObsoletesRFC nahrazuje některá starší
Obsoleted byRFC je zastaralé a nahrazené jiným
UpdatesRFC, která zobrazené RFC aktualizuje
Status RFCProposed 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ázePopis
Draft Standarduznané standardy, staré označení dle RFC 2026
Proposed Standarduznané standardy, nové označení dle RFC 6410
Internet Standardinternetový standard, dle RFC 6410, dospělejší než Proposed Standard
Best Current Practicetéměř standard, doporučuji respektovat

Všechny výše uvedené životní fáze RFC by vývojář měl respektovat.

Disqus