REST API Flashcards
Co to jest REST i czym się charakteryzuje?
- REST (Representational State Transfer)
- styl architektury oprogramowania
- definiuje zestaw funkcji, takich jak GET, PUT, DELETE, POST itp., których klienci mogą używać do uzyskiwania dostępu do danych serwera
- serwer udostępnia endpoiny a klienci robią calla
- jeden ze sposobów na komunikacje miedzy aplikacjami
- Klienci i serwery wymieniają dane za pomocą protokołu HTTP.
Jakie są typowe metody HTTP używane w RESTful API?
- GET
- POST
- PUT
- DELETE
- PATCH (częsciowa aktualizacja)
Czym jest zasób (resource) w kontekście REST?
- obiekt lub encja, która można adresować za pomocą URL
- zasoby mogą być reprezentowane w róznych formatach - JSON, XML
Jakie są główne cechy REST API?
- Bezstanowość (Statelessness)
- Klient-serwer
- Cacheable (Możliwość cachowania):
- jednolity interfejs
- Warstwowy system (Layered System):
- Kod na żądanie (opcjonalnie):
Bezstanowość (Statelessness)
Każde żądanie od klienta do serwera musi zawierać wszystkie informacje potrzebne do jego obsługi. Serwer nie przechowuje informacji o stanie klienta między żądaniami.
Klient-serwer:
Architektura REST oddziela interfejs użytkownika od danych przechowywanych na serwerze, co ułatwia rozwój obu komponentów niezależnie.
Cacheable (Możliwość cachowania):
Odpowiedzi od serwera mogą być oznaczone jako cacheable lub non-cacheable. Jeśli są cacheable, mogą być przechowywane przez klienta i ponownie używane, co poprawia wydajność.
Jednolity interfejs:
REST definiuje zestaw ograniczeń dla tworzenia jednolitego interfejsu, co ułatwia interakcję i zrozumienie API.
Warstwowy system (Layered System):
Klient komunikuje się z warstwą pośrednią, niekoniecznie bezpośrednio z serwerem końcowym. To pozwala na zwiększenie skalowalności.
Kod na żądanie (opcjonalnie)
Serwery mogą tymczasowo rozszerzyć lub dostosować funkcjonalność klienta przesyłając mu kod do wykonania.
Jakie są najczęstsze kody błędów HTTP w REST API i co one oznaczają?
- 400 BAD REQUEST
- 401 Unauthrozied
- 403 Forbidden
- 404 Not found
- 405 Method Not allowed
- 429 to many request
- 500 Internal server error
Jakie są dobre praktyki w nazewnictwie endpointów w REST API?
- użycie liczby mnogiej dla nazw zasobów (np. /users zamiast /user),
- unikanie wielkich liter,
- użycie podkreślników lub myślników do łączenia słów
- używanie rzeczowników (a nie czasowników) w nazwach zasobów.
Co to jest HTTP i jakie jest jego główne zastosowanie?
- (Hypertext Transfer Protocol)
- protokół aplikacji służący do przesyłania dokumentów hipertekstowych, takich jak HTML
- podstawa każdego przesyłania danych w sieci WWW.
Jak nagłówki HTTP są używane w RESTful API?
- Określenia formatu odpowiedzi (np. Accept: application/json).
- Kontroli cache’owania (np. Cache-Control).
- Przesyłania danych uwierzytelniających (np. Authorization).
-
Informowania o typie zawartości (Content-Type).
i wielu innych funkcjonalności.
Co to jest REST API?
- zbiór wytycznych i reguł dotworzenia interfejsu, który pozwala na interakcję z systemem za pomocą standardowych metod HTTP.
- jest zorientowane na zasoby, co oznacza, że adresy URL (endpoiny) odnoszą się zazwyczaj do konkretnych zasobów (np. użytkowników, produktów) i są manipulowane za pomocą standardowych metod
- komunikacja następuje najczęściej między aplikacją kliencką a aplikacją serwerową
Zalety REST
-oparty na HTTP - standardowy protokół intenetowy
- bezstanowość - Każde żądanie od klienta do serwera musi zawierać wszystkie informacje
- skalowalność - Dzięki bezstanowości i bezsesyjności REST API jest bardzo skalowalne
- wydajność - wykorzystanie metod HTTP i kodów odpowiedzi pozwala na optymalizację komunikacji między klientem a serwerem.
- szeroko przyjęty
- Nie jest związane z technologią
URI
- Uniform Resource Identifier
- ciąg znaków służący do identyfikacji zasobu
URL
- Uniform Resource Locator
- konkretny typ URI, który nie tylko identyfikuje zasób, ale również dostarcza sposób na lokalizację tego zasobu poprzez opisanie jego głównego dostępu
Klient
- program komputerowy lub urządzenie, które wysyła żądanie do serwera w celu uzyskania pewnych usług, danych lub funkcji
- Przykładowo, przeglądarka internetowa
Serwer
- program lub urządzenie, które odbiera żądanie klienta dostarcza odpowiedź.
API
- zestaw reguł i definicji, które pozwalają aplikacjom komunikować się ze sobą
- Umożliwia to programistom dostęp do określonych funkcji lub danych w innej aplikacji, serwisie lub platformie bez konieczności zagłębiania się w szczegóły wewnętrzne danego systemu