2010-12-02 2 views

ответ

6
  • GET, когда данные, показывающие
  • POST при изменении данных
  • сеанса при хранении данных между запросами, которые не должны остаться после сеанса истекает
  • базы данных (или другое постоянное хранение) для данных, которые необходимо обходить между сеансами

Cookies; более или менее никогда. Все, что вы могли бы положить туда, почти всегда могло быть лучше сохранено в сеансе. Возможно, только для постоянных логинов.

Скрытые поля; снова, почти никогда, используйте сеанс и сохраняйте данные на сервере. Иногда используется в качестве точек хранения данных, собранных с помощью javascript, но это все.

1

Я предпочитаю сеансы. Это единственный вариант, который вы упомянули выше, это серверная сторона.

Если вы хотите передать информацию от своего клиента на свой сервер, вы можете использовать POST или GET. Помните, что скрытое поле в конце станет пост переменной get.

Get, Post, Cookies и скрытые поля можно обрабатывать относительно просто. Какой вариант вы выбираете, убедитесь, что вы всегда проверяете, что ваши переменные действительны. Значения входных данных никогда нельзя доверять!

+0

Однако необходимо передавать данные с клиента на сервер, поэтому одних сеансов недостаточно. – 2010-12-02 12:36:42

+0

И сеансы могут подвергать риску условия гонки. Нет ни одного размера, который бы соответствовал всем ответам, это очень сильно зависит от решаемой проблемы. – Quentin 2010-12-02 12:41:19

1

Все эти вещи имеют разные, иногда совпадающие применения. Выбор одного и использование только этого в разработке полного приложения приведет к смехотворно плохому неправильному использованию. Вам нужен более конкретный вопрос.

-1

Сессия является наиболее подходящим способом передачи пространственных значений. Но если вы хотите отправить количество переменных за один раз, то пост - лучший метод.

0

Зависит от места и когда вам нужно передать данные.

Если на странице загружается файл cookie, если у вас сеансы сессии, если вы отправляете форму (которая является HTTP POST или GET), если вы отправляете, и вы не хотите, чтобы пользователь видел скрытое поле с формой (который является HTTP POST или GET), через URL (GET) и, наконец, если у него есть AJAX, например, веб-приложение, у вас есть несколько вариантов и методов, открытых для использования (HTTP GET, PUT, POST и DELETE - см. RESTful APIS для хорошего примера).

Примечание со всеми HTTP GET, PUT, POST и DELETE методы вы можете использовать куки и сессии, а

1

Я обычно придерживаться некоторых простых правил:

GET - для получения информации.

Например:

  • site.com/articles/category/2 или site.com/articles.php?category=2 показывает мне все статьи для второй категории

  • site.com/search/mike или site.com/search.php?q=mike поиски mike на сайте

POST - для обновления или вставки данные

Скрытые поля, используемые в формах POST/GET по разным причинам, часто для идентификаторов или что-то вроде этого

Сессия - для данных за один сеанс. Сохранение некоторых пользовательских настроек, пользовательских данных.

Cookies - для "запомнить меня" функциональность и некоторые JS вещи (потому что JS не может достигнуть данных сеанса)

P.S. Существуют также методы PUT и DELETE, но некоторые общедоступные хостеры не позволяют их ...

Смежные вопросы