Summary of Data Exchange and Web APIs

Data Exchange & Web APIs: A Student's Guide to Digital Communication

Úvod

Webové API (Application Programming Interface) umožňuje komunikaci mezi klientem a serverem přes síť. Představuje sadu pravidel a rozhraní, pomocí kterých si aplikace vyměňují data — typicky přes HTTP(S). Tento materiál shrnuje principy HTTP, REST, alternativní architektury (JSON:API, GraphQL), popis API pomocí OpenAPI a související technologie jako AJAX či WebSocket.

Definice: Webové API je sada specifikovaných metod, protokolů a formátů, které umožňují klientským aplikacím bezpečně a strukturovaně volat funkce a sdílet data se serverem.

Základy komunikace: HTTP a klient-server architektura

Klient a server

  • Klient: webový prohlížeč, mobilní aplikace, robot, IoT zařízení nebo jiná aplikace, která iniciuje požadavek.
  • Server: webový nebo aplikační server (Apache, Nginx, IIS), obvykle běží na fyzickém nebo virtuálním stroji.

Princip HTTP

  • HTTP je protokol vrstevně nad TCP/QUIC, funguje na aplikační vrstvě. Je to request-response protokol, stateless (stav není automaticky uchováván mezi požadavky).
  • Standardní port je 80, pro zabezpečený provoz HTTPS používáme TLS (port 443).

Definice: Stateless znamená, že server neudržuje informace o předchozích požadavcích klienta; každý požadavek obsahuje vše potřebné pro zpracování.

HTTP metody (nejdůležitější)

  • GET – čtení zdroje (bez vedlejších účinků).
  • POST – zaslání dat na server (např. vytvoření zdroje nebo odeslání formuláře).
  • PUT – vytvoření nebo nahrazení reprezentace cílového zdroje.
  • PATCH – částečná aktualizace zdroje.
  • DELETE – odstranění zdroje.

Další: HEAD, OPTIONS, CONNECT, TRACE (především pro diagnostiku nebo specifické scénáře).

HTTP hlavičky a kódy odpovědí

  • Hlavičky přenášejí metadata (User-Agent, Content-Type, Authorization, Cache-Control, atd.).
  • Kódy odpovědí skupiny:
    • 1xx informace
    • 2xx úspěch (200, 201, 204)
    • 3xx přesměrování (301, 302, 304)
    • 4xx chyba klienta (400, 401, 403, 404, 405)
    • 5xx chyba serveru (500, 502, 503)
💡 Věděli jste?Fun fact: Pro rychlé navázání a nižší latenci moderní weby používají HTTP/2 nebo HTTP/3 — HTTP/3 běží přes QUIC a výrazně zlepšuje rychlost opětovného připojení a multiplexingu.

REST (REpresentational State Transfer)

Základní principy

  • REST je architektonický styl, který využívá HTTP jako přenosovou vrstvu.
  • Vše je zdroj (resource) identifikovaný URI, klient s ním pracuje pomocí jednotného rozhraní (HTTP metody).
  • Klíčová omezení: stateless, cacheability, uniform interface, layered system.

Definice: REST API poskytuje přístup ke zdrojům přes HTTP tak, že zdroje jsou identifikovány URI a operace se provádějí pomocí standardních HTTP metod.

Formáty dat

  • Nejčastěji se používá JSON; dříve časté bylo XML. REST neomezuje formát, ale JSON je pro web modernější.

Příklad REST URL a operací

OpenAPI Specification (OAS)

  • OAS je popis API v JSON nebo YAML formátu, který umožňuje generovat dokumentaci, klientské stuby, mock servery a testy.
  • Hlavní sekce: openapi, info, servers, paths (operations), components (schemas, parameters, securitySchemes).
💡 Věděli jste?Fun fact: Jeden OAS soubor může sloužit k automatické generaci klientské knihovny i interaktivní dokumentace (např. Swagger UI).

JSON:API a GraphQL — alternativy k „čistému“ RESTu

JSON:API

  • Specifikace, která definuje konzistentní formát JSON pro REST API (media type application/vnd.api+json).
  • Standardizuje strukturu odpovědí, včetně relationships, meta a included sekcí.

GraphQL

  • Jazyk pro dotazování dat, který umožňuje klientovi přesně specifikovat, jaká data potřebuje, a tím redukovat počet volání.
  • Server poskytuje schéma a resolve
Zaregistruj se pro celé shrnutí
FlashcardsKnowledge testSummaryPodcastMindmap
Start for free

Already have an account? Sign in

Webové API - přehled

Klíčové pojmy: Webové API definuje rozhraní pro komunikaci mezi aplikacemi přes síť, HTTP je základní protokol pro Web API; používá metody GET, POST, PUT, PATCH, DELETE, REST používá zdroje identifikované URI a standardní HTTP metody, OpenAPI (OAS) popisuje API v JSON/YAML a umožňuje generování dokumentace a stubů, JSON je hlavní formát dat pro moderní REST API; XML se používá u starších služeb, GraphQL umožňuje klientovi specifikovat přesně požadovaná data a snižuje počet požadavků, WebSocket poskytuje persistentní obousměrné spojení pro realtime komunikaci, AJAX (Fetch/XHR) umožňuje asynchronické aktualizace bez reloadu stránky, SOAP a XML-RPC se používají v enterprise scénářích s pevně definovanými kontrakty, Bezpečnost: vždy HTTPS/TLS, používat OAuth/JWT a rate limiting, HTTP odpovědi mají status kódy 1xx–5xx, které popisují výsledek požadavku, Používejte správnou dokumentaci a validaci (OAS, schémata) pro robustní API

## Úvod Webové API (Application Programming Interface) umožňuje komunikaci mezi klientem a serverem přes síť. Představuje sadu pravidel a rozhraní, pomocí kterých si aplikace vyměňují data — typicky přes HTTP(S). Tento materiál shrnuje principy HTTP, REST, alternativní architektury (JSON:API, GraphQL), popis API pomocí OpenAPI a související technologie jako AJAX či WebSocket. > Definice: Webové API je sada specifikovaných metod, protokolů a formátů, které umožňují klientským aplikacím bezpečně a strukturovaně volat funkce a sdílet data se serverem. ## Základy komunikace: HTTP a klient-server architektura ### Klient a server - **Klient**: webový prohlížeč, mobilní aplikace, robot, IoT zařízení nebo jiná aplikace, která iniciuje požadavek. - **Server**: webový nebo aplikační server (Apache, Nginx, IIS), obvykle běží na fyzickém nebo virtuálním stroji. ### Princip HTTP - HTTP je protokol vrstevně nad TCP/QUIC, funguje na aplikační vrstvě. Je to request-response protokol, stateless (stav není automaticky uchováván mezi požadavky). - Standardní port je 80, pro zabezpečený provoz HTTPS používáme TLS (port 443). > Definice: Stateless znamená, že server neudržuje informace o předchozích požadavcích klienta; každý požadavek obsahuje vše potřebné pro zpracování. ### HTTP metody (nejdůležitější) - **GET** – čtení zdroje (bez vedlejších účinků). - **POST** – zaslání dat na server (např. vytvoření zdroje nebo odeslání formuláře). - **PUT** – vytvoření nebo nahrazení reprezentace cílového zdroje. - **PATCH** – částečná aktualizace zdroje. - **DELETE** – odstranění zdroje. Další: HEAD, OPTIONS, CONNECT, TRACE (především pro diagnostiku nebo specifické scénáře). ### HTTP hlavičky a kódy odpovědí - Hlavičky přenášejí metadata (User-Agent, Content-Type, Authorization, Cache-Control, atd.). - Kódy odpovědí skupiny: - 1xx informace - 2xx úspěch (200, 201, 204) - 3xx přesměrování (301, 302, 304) - 4xx chyba klienta (400, 401, 403, 404, 405) - 5xx chyba serveru (500, 502, 503) Fun fact: Pro rychlé navázání a nižší latenci moderní weby používají HTTP/2 nebo HTTP/3 — HTTP/3 běží přes QUIC a výrazně zlepšuje rychlost opětovného připojení a multiplexingu. ## REST (REpresentational State Transfer) ### Základní principy - REST je architektonický styl, který využívá HTTP jako přenosovou vrstvu. - Vše je **zdroj** (resource) identifikovaný URI, klient s ním pracuje pomocí jednotného rozhraní (HTTP metody). - Klíčová omezení: stateless, cacheability, uniform interface, layered system. > Definice: REST API poskytuje přístup ke zdrojům přes HTTP tak, že zdroje jsou identifikovány URI a operace se provádějí pomocí standardních HTTP metod. ### Formáty dat - Nejčastěji se používá **JSON**; dříve časté bylo **XML**. REST neomezuje formát, ale JSON je pro web modernější. ### Příklad REST URL a operací - GET https://api.example.com/users/123 — získat uživatele s ID 123 - POST https://api.example.com/users — vytvořit nového uživatele - PUT https://api.example.com/users/123 — nahradit uživatele 123 - PATCH https://api.example.com/users/123 — upravit části uživatele 123 - DELETE https://api.example.com/users/123 — smazat uživatele 123 ### OpenAPI Specification (OAS) - OAS je popis API v JSON nebo YAML formátu, který umožňuje generovat dokumentaci, klientské stuby, mock servery a testy. - Hlavní sekce: openapi, info, servers, paths (operations), components (schemas, parameters, securitySchemes). Fun fact: Jeden OAS soubor může sloužit k automatické generaci klientské knihovny i interaktivní dokumentace (např. Swagger UI). ## JSON:API a GraphQL — alternativy k „čistému“ RESTu ### JSON:API - Specifikace, která definuje konzistentní formát JSON pro REST API (media type application/vnd.api+json). - Standardizuje strukturu odpovědí, včetně relationships, meta a included sekcí. ### GraphQL - Jazyk pro dotazování dat, který umožňuje klientovi přesně specifikovat, jaká data potřebuje, a tím redukovat počet volání. - Server poskytuje schéma a resolve