HTTP post: параметры URL и данные формы
Когда я выполняю HTTP-запрос POST через веб-форму, есть ли какая-либо разница (практически или теоретически) между параметрами, указанными в URL-адресе, и параметрами, переданными с формой на стороне сервера?
Могу ли я делать POST с параметрами url и ожидать того же результата, что и с вводом форм?
Как
<form action="/?id=2" method="post">
<input type="text" name="name" value="John"/>
<input type="submit" value="submit"/>
</form>
Или:
<form action="/?id=2&name=John" method="post">
<input type="submit" value="submit"/>
</form>
Спасибо.
Ответы
Ответ 1
Ссылки, предоставленные Gabriel и BrokenGlass, действительно классные, но позвольте мне дать вам 2 цента.
Я предполагаю, что вы уже знаете немного о том, как извлекать данные, отправленные из формы на стороне сервера. Если вы этого не сделаете, начните там, и ответы придут быстрее, чем вы могли себе представить.
Ну, параметры, отправленные по URL-адресу или действию атрибута формы, являются параметрами данных GET. Они будут проанализированы и доступны как таковые. Период.
Поля ввода из формы с методом POST отправляются как данные POST и анализируются и доступны как таковые.
Из приведенных вами примеров, и предположим, что вы используете PHP, мы могли бы получить следующее:
Пример 1
$_GET['id']
$_POST['name']
Пример 2
$_GET['id']
$_GET['name']
Надеюсь, что понятия понятны.
Ответ 2
Вы должны прочитать эту статью о различиях между GET и POST (GET - это когда вы помещаете свои параметры в URL-адрес, а POST - когда вы помещаете свои параметры в форму).
Кроме того, на этот вопрос уже был дан ответ fooobar.com/info/25048/...