Przykład z życia wzięty. Jeśli chce się być purystą, lub przynajmniej w miarę spełniać jakieś standardy, to implementując serwis RESTowy wypadało by (a może nie?) aby endpoint odpowiadający za zwracanie jakichś danych, ale nie modyfikujący nic, przyjmował polecenia GET. Ponieważ do **wyszukania **odpowiednich danych potrzebne są pewne dane wejściowe, te przekazujemy za pomocą query parameters, np:
https://mysite.com/search?filterOne=something&filterTwo=somethingelse
Wszystko ładnie i pięknie. Rzecz w tym że mieliśmy audyt bezpieczeństwa aplikacji i to właśnie query parameters zostały wymienione jako jedno z największych potencjalnych zagrożeń, ponieważ zawierają one poufne dane (imię, nazwisko, pewne unikalne identyfikatory takie jak VIN pojazdu). Co za tym idzie zostało zarekomendowane aby do takich zapytań stosować POST, i przekazywać dane wejściowe jako payload. Oczywiście query parameters również są szyfrowane przy transporcie przez HTTPS, ale powodem wymienionym było to że całe URL wraz z parametrami może znaleźć się w logach przeglądarki, serwera i aplikacji.
Stąd też moja dywagacja- czy jeśli ktoś chciałby mieć "czysto" RESTowy serwis, to musiałby porzucić pewne kwestie bezpieczeństwa? Jak to pogodzić?
Temat do luźnej dyskusji, nie oczekuję żadnej "jedynej i słusznej" odpowiedzi.