2010-08-24 9 views
5

Zrobiłem dużo php i javascript, ale myślę, że jest to pytanie względnie agnostyczne. Czy są jakieś najlepsze praktyki dla kiedy użyć każdego:Kiedy używać zmiennych URL/session/cookie?

  • zmiennych URL
  • zmiennych sesji
  • ciasteczka

Rozumiem nieodłączne ograniczenia co niektóre z nich nie mogą do, ale wydaje się, że ich użycie może czasem nakładać się, i te instancje są tym, o co naprawdę pytam.


EDIT prostu do wyjaśnienia: Jestem dość zaznajomieni z technicznych którego metoda jest przechowywanych gdzie iw którym klient/serwer ma dostęp. To, czego szukam, to coś na wyższym poziomie, np. "Tymczasowe ustawienia użytkownika powinny żyć w ciasteczkach, informacje o stanie danych powinny znajdować się na serwerze, itp."

Dzięki!

Odpowiedz

6

Ogólnie:

  1. Użyj URL (GET) parametry wysyłania prostych parametrów żądania do serwera, np. zapytanie wyszukiwania lub numer strony w wykazie produktów.

  2. Użyj zmiennych sesji, jak wskazuje nazwa, do przechowywania danych tymczasowych związanych z określoną sesją użytkownika, np. identyfikator zalogowanego użytkownika lub nietrwały koszyk na zakupy.

  3. Unikaj używania plików cookie, jeśli to możliwe. Używaj ich oszczędnie do przechowywania ustawień powiązanych z określonym komputerem/profilem użytkownika, np. ustawienie takie jak "zapamiętaj mój identyfikator użytkownika na tym komputerze".

+0

Dzięki casablanca! – loneboat

6
  1. Sesje są przechowywane na serwerze, co oznacza, że ​​klienci nie mają dostępu do informacji przechowywanych na ich temat. Dane sesji przechowywane na serwerze nie muszą być przesyłane w całości wraz z każdą stroną; klienci muszą tylko wysłać identyfikator, a dane są ładowane z serwera.

  2. Z drugiej strony pliki cookie są przechowywane na kliencie. Mogą być trwałe przez długi czas i pozwolą ci pracować bardziej płynnie, gdy masz klaster serwerów internetowych. Jednak w przeciwieństwie do sesji, dane przechowywane w plikach cookie są przekazywane w całości wraz z każdym żądaniem strony. Powinieneś użyć cookie, jeśli potrzebujesz więcej zalogowanych sesji.

  3. Zmienne URL (GET) są otwarte i mogą być widoczne dla użytkownika. Są także użyteczne, ponieważ umożliwiają użytkownikowi tworzenie zakładki do strony i udostępnianie linku.

+0

Dzięki, Shamittomar. Nie zaznaczam tego jako zaakceptowanego (moja wina, patrz wyjaśnienie powyżej), ale nadal przegrywam, ponieważ twoja obecna reputacja to 666.: -o – loneboat

0

PHP osadza identyfikator sesji bezpośrednio w adresach URL, gdy pliki cookie są wyłączone. Następnie identyfikator sesji staje się wartością dostępną poprzez zmienną HTTP GET.

Powiązane problemy