Когда использовать переменные URL / сессии / cookie? - PullRequest
7 голосов
/ 24 августа 2010

Я делаю много php и javascript, но я думаю, что это относительно не зависящий от языка вопрос.Существуют ли рекомендации по использованию каждого из следующих компонентов:

  • переменные URL
  • переменные SESSION
  • куки

Я понимаюнеотъемлемые ограничения того, что некоторые из них не могут сделать, но кажется, что их использование иногда может частично совпадать, и эти примеры - это то, о чем я действительно спрашиваю.


РЕДАКТИРОВАТЬ Просто чтобы уточнить: я хорошо знаком с техническими особенностями того, где, где хранится метод, и к которому клиент / сервер может получить доступ.Я ищу что-то более высокого уровня, например: «временные пользовательские настройки должны храниться в файлах cookie, информация о состоянии данных должна храниться на сервере и т. Д.»

Спасибо!

Ответы [ 3 ]

8 голосов
/ 24 августа 2010

В целом:

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

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

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

6 голосов
/ 24 августа 2010
  1. Сеансы хранятся на сервере, что означает, что клиенты не имеют доступа к информации о них, которую вы храните.Данные сеанса, хранящиеся на вашем сервере, не должны передаваться полностью с каждой страницы;клиентам просто необходимо отправить идентификатор, и данные загружаются с сервера.

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

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

0 голосов
/ 24 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...