Metoda HTTP, którą symulowaliśmy przez 16 lat
Programiści backendowi borykają się z ciągłym problemem w przypadku endpointów wyszukiwania.
Chcesz użyć metody GET, ponieważ wyszukiwanie to operacja odczytu. Jednak Twoje filtry wyszukiwania stają się zbyt duże. Twój adres URL osiąga dwa tysiące znaków. Proxy ucinają Twoje żądanie. Twoje wyszukiwanie przestaje działać.
Przechodzisz na POST, aby obejść limit. To działa, ale jest to kłamstwo. POST informuje każde proxy i cache, że zmieniasz dane. To blokuje wszelkie buforowanie. Tracisz szybkość metody GET.
Przez szesnaście lat nie było rozwiązania pośredniego.
W czerwcu 2026 roku IETF opublikowało RFC 10008. Wprowadza ono metodę QUERY. Jest to pierwsza nowa metoda HTTP od 2010 roku.
QUERY łączy najlepsze cechy metod GET i POST:
• Przenosi body żądania dla złożonych filtrów. • Jest bezpieczna (safe), co oznacza, że serwer nie zmienia stanu. • Jest idempotentna, co oznacza, że można ją wykonać dwukrotnie z tym samym wynikiem. • Jest buforowalna (cacheable), co pozwala sieciom CDN na przechowywanie odpowiedzi.
Żądanie QUERY wygląda tak:
QUERY /products HTTP/1.1 Host: api.shop.example Content-Type: application/json
{ "filter": { "category": "boots", "inStock": true }, "sort": "-price", "limit": 20 }
Nowe RFC dodaje również nagłówek Accept-Query. Pozwala on API poinformować, jakie formaty zapytań jest obsługiwane.
Ostrzeżenie dla programistów:
Buforowanie żądania QUERY różni się od żądania GET. Cache dla GET używa adresu URL jako klucza. Cache dla QUERY musi używać body żądania jako części klucza. Jeśli Twoja infrastruktura tego nie rozumie, jeden użytkownik może zobaczyć prywatne wyniki wyszukiwania innego użytkownika.
Nie spiesz się z wdrażaniem tego na produkcję. Ekosystem potrzebuje czasu, aby nadrobić zaległości.
• Przeglądarki nie obsługują jeszcze QUERY w fetch(). • Formularze HTML obsługują tylko GET i POST. • Wiele bramek API (API gateways) i systemów WAF odrzuci nieznane metody.
Projektuj swoje API z myślą o QUERY, ale na razie zachowaj swoje endpointy POST.
QUERY kończy długotrwały kompromis. Pozwala zadawać złożone pytania bez okłamywania sieci.
Czekasz, aż ekosystem nadrobi zaległości, czy testujesz już QUERY?
Źródło: https://dev.to/arya_koste_5845807df94776/query-the-http-method-weve-been-faking-for-16-years-f9i
