Sobes.tech
Junior

W jakich przypadkach warto przekazywać parametry przez GET, a w jakich nie należy tego robić?

sobes.tech AI

Odpowiedź od AI

Zaleca się korzystanie z przesyłania parametrów przez GET w następujących przypadkach:

  • Pobieranie danych (czytanie): Zapytania GET są idempotentne i nie powinny zmieniać stanu na serwerze. To główna metoda pobierania zasobów lub informacji.
  • Buforowanie: Przeglądarki i serwery proxy mogą buforować zapytania GET, co przyspiesza kolejne żądania do tego samego URI.
  • Tworzenie linków: Parametry w URL ułatwiają tworzenie bezpośrednich linków do konkretnego widoku danych lub wyników wyszukiwania.
  • Mała ilość danych: Przy przesyłaniu niewielkiej ilości danych nieistotnych.
  • Udostępnianie zapytań: Gdy wynik zapytania może być łatwo przekazany innemu użytkownikowi przez link.

Nie należy używać przesyłania parametrów przez GET w następujących przypadkach:

  • Przesyłanie poufnych danych: Hasła, dane osobowe, tokeny autoryzacyjne i wszelkie inne informacje, które nie powinny być widoczne w URL, historii przeglądarki lub logach serwera.
  • Duża ilość danych: URL ma ograniczenie długości (choć zależy od przeglądarki/serwera, ale istnieje).
  • Zmiana stanu na serwerze: Zapytania GET nie powinny powodować zmian stanu (tworzenie, aktualizacja, usuwanie zasobów). Do tego służą metody POST, PUT, DELETE.
  • Przesyłanie plików: Przesyłanie zawartości plików przez parametry URL jest niepraktyczne i niesstandardowe.
  • E-maile z linkami do działań: Linki w e-mailach wykonujące akcje na serwerze (np. wypisanie się) nie powinny używać GET, aby uniknąć przypadkowego wykonania akcji podczas skanowania e-maila przez antywirus lub klienta pocztowego.