When to use URL/session/cookie variables?

I do a lot of php and javascript, but I think this is relatively language-agnostic question. Are there any best-practices for when to use each of:

  • URL variables
  • SESSION variables
  • cookies

I understand the inherent limitations of what some of them can't do, but it seems like their use can overlap sometimes, too, and those instances are what I'm really asking about.


EDIT Just to clarify: I'm pretty familiar with the technicalities of which method is stored where, and which the client/server can access. What I am looking for is something a little higher-level, like "temporary user settings should live in cookies, data state info should live on the server, etc..."

Thanks!

7
задан loneboat 24 August 2010 в 18:35
поделиться

3 ответа

В общем:

  1. Используйте параметры URL (GET) для отправки простых параметров запроса на сервер, например. поисковый запрос или номер страницы в списке продуктов.

  2. Используйте переменные сеанса, как указано в названии, для хранения временных данных, связанных с конкретным сеансом пользователя, например. идентификатор вошедшего в систему пользователя или непостоянная корзина покупок.

  3. По возможности избегайте использования файлов cookie. Используйте их экономно для хранения настроек, привязанных к конкретному компьютеру / профилю пользователя, например. такой параметр, как «запомнить мой идентификатор пользователя на этом компьютере».

8
ответ дан 6 December 2019 в 15:16
поделиться
  1. Сессии хранятся на сервере, что означает, что клиенты не имеют доступа к информации о них, которую вы храните. Данные сеанса, хранящиеся на вашем сервере, не нужно передавать полностью с каждой страницей; клиентам просто нужно отправить идентификатор, и данные загружаются с сервера.

  2. С другой стороны, файлы cookie хранятся на клиенте. Их можно сделать долговечными, и они позволят вам работать более плавно, если у вас есть кластер веб-серверов. Однако, в отличие от сеансов, данные, хранящиеся в файлах cookie, полностью передаются с каждым запросом страницы. Вам следует использовать cookie, если вам нужны более длительные сеансы входа в систему.

  3. Переменные URL-адреса (GET) открыты и могут быть просмотрены пользователем. Они также полезны, поскольку позволяют пользователю делать закладку на странице и делиться ссылкой.

6
ответ дан 6 December 2019 в 15:16
поделиться

PHP встраивает идентификатор сеанса непосредственно в URL-адреса, когда файлы cookie отключены. Затем идентификатор сеанса становится значением, доступным через переменную HTTP GET.

0
ответ дан 6 December 2019 в 15:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: