A RESTful API(Representational State Transfer) to rodzaj architektury i protokołu do projektowania i zarządzania interfejsami programowania aplikacji(API) w systemach rozproszonych. RESTful API jest zbudowany na podstawowych zasadach architektury REST, metodzie opisanej przez Roya Fieldinga w jego rozprawie z 2000 roku.
Kluczowe cechy RESTful API obejmują:
Dostęp oparty na adresie
Każdy zasób jest reprezentowany przez adres URL(Uniform Resource Locator), umożliwiający systemom komunikację za pośrednictwem żądań HTTP, takich jak GET, POST, PUT i DELETE.
Dostęp bezstanowy
Każde żądanie klienta zawiera wystarczającą ilość informacji, aby serwer mógł zrozumieć żądanie bez polegania na informacjach o poprzednim stanie. Serwer nie przechowuje informacji o stanie klienta pomiędzy żądaniami.
Użycie metody HTTP
RESTful API używa metod HTTP(GET, POST, PUT, DELETE) do zdefiniowania celu każdego żądania. Na przykład użyj, GET aby pobrać informacje, POST aby utworzyć nowe dane, PUT, aby zaktualizować i DELETE, aby usunąć.
Korzystanie z typów mediów
Dane są przesyłane przez sieć przy użyciu formatów, takich jak JSON, XML lub innych niestandardowych formatów. Każde żądanie musi określać żądany format danych.
Identyfikacja zasobów
Zasoby są identyfikowane za pomocą unikalnych adresów URL, umożliwiając klientom dostęp do zasobów przy użyciu identyfikatorów opartych na ścieżce.
Pamięć podręczna
Żądania i odpowiedzi z a RESTful API mogą być przechowywane w pamięci klienta lub serwera proxy w celu optymalizacji wydajności.
System warstwowy
Architektura REST umożliwia dodanie warstw pośrednich, takich jak moduły równoważenia obciążenia lub serwery proxy, w celu zwiększenia skalowalności i łatwości zarządzania.
Interfejsy API RESTful są szeroko stosowane w tworzeniu aplikacji internetowych i mobilnych, umożliwiając wydajną komunikację i udostępnianie danych między aplikacjami. Główne usługi internetowe, takie jak Facebook, Twitter i Google, również wykorzystują architekturę RESTful do udostępniania programistom interfejsów API.