GET vs. POST (обработка формы) - PullRequest
6 голосов
/ 12 января 2011

Я полностью понимаю различия между ними с точки зрения обработки форм, усмотрения пользователей и конфиденциальности данных, но в какой ситуации кто-нибудь предпочел бы использовать GET over POST при отправке результатов формы?

Спасибо

Ответы [ 4 ]

11 голосов
/ 12 января 2011

W3C HTML 4.01 Рекомендация по правильному использованию GET и POST:

Метод "get" следует использовать, когда форма идемпотентна (т. Е. Не вызывает никаких сторон)-последствия).Многие поиски в базе данных не имеют видимых побочных эффектов и создают идеальные приложения для метода «get».

Если служба, связанная с обработкой формы, вызывает побочные эффекты (например, если форма изменяет базу данных илиподписка на услугу), следует использовать метод «post».

Примечание: Метод «get» ограничивает значения набора данных формы символами ASCII.Только метод "post" (с enctype = "multipart / form-data") указан для охвата всего набора символов [ISO10646].

7 голосов
/ 12 января 2011

GET помещает параметры в сам URL, что позволяет всем видеть.В то время как POST был бы идеальным для входа в систему и конфиденциальных данных, GET идеален, когда вы хотите, чтобы динамическая страница была добавлена ​​в закладки.

Возьмите форум например.Поток, который показывает все сообщения в нем, загружается динамически.Не существует страницы для каждого доступного потока, то есть должны быть указаны параметры, указывающие, какой поток загружать.Эти параметры передаются с помощью GET, поэтому вы можете добавить страницу в закладки, и этот точный URL с указанными параметрами будет снова использован для загрузки страницы.

2 голосов
/ 12 января 2011

Например, чтобы сделать данные формы видимыми в журналах.

1 голос
/ 12 января 2011

Если мне нужно, чтобы пользователь мог сохранить закладку следующего шага / страницы (по какой-либо причине), я бы использовал GET, отличный от этого, вероятно, POST.

Оба небезопасны, и вы должны сбежать от обоих.

...