Что такое метод post

PHP — Методы GET и POST

Дата публикации: 2017-10-18

Что такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод post

От автора: существуют два способа, с помощью которых клиенты-браузеры могут отправлять информацию на веб-сервер — это метод GET и метод POST.

Прежде чем браузер отправит информацию, он кодирует ее, используя схему, называемую кодировкой URL-адресов. В этой схеме пары имя / значение объединяются знаком равно, а разные пары разделяются амперсандом: name1=value1&name2=value2&name3=value3.

Метод GET создает длинную строку, которая отображает в логах сервера и в адресной сторке браузера.

Метод GET предназначен для отправки только до 1024 символов.

Никогда не используйте метод GET, если вам нужно отправить на сервер пароль или другую конфиденциальную информацию.

Что такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод post

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

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

Доступ к данным, отправленным через метод GET, можно получить с помощью переменной среды QUERY_STRING.

Источник

Методы GET и POST. Использование и отличия

Что такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод postЧто такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод postЧто такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод postЧто такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод postЧто такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод post

HTTP методы GET и POST используются для отправки данных на сервер.

Чаще всего методы используются в HTML формах, гиперссылках и AJAX запросах.

POST и GET запросы можно отправить на сервер с помощью любого программного обеспечения, работающего с протоколом HTTP.

Обработка запросов может отличаться в зависимости от типа сервера.

Какой метод использовать GET или POST, чем отличаются методы

Основное отличие метода GET от POST в способе передачи данных.

Запрос GET передает данные в URL в виде пар «имя-значение» (другими словами, через ссылку), а запрос POST передает данные в теле запроса (подробно показано в примерах ниже). Это различие определяет свойства методов и ситуации, подходящие для использования того или иного HTTP метода.

Например, можно использовать метод GET в HTML форме фильтра товаров: когда нужно, исходя из данных введенных пользователем, переправить его на страницу с отфильтрованными товарами, соответствующими его выбору.

HTTP метод POST поддерживает тип кодирования данных multipart/form-data, что позволяет передавать файлы.

Также следует заметить, что методы можно комбинировать. То есть, при необходимости вы можете отправить POST запрос на URL, имеющий GET параметры.

В каких случаях использовать POST и когда нужно использовать GET

В таблице ниже показаны распространенные варианты использования HTTP запросов с объяснением в чем разница между GET и POST запросами в конкретной ситуации.

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

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

Отсутствует защита конфиденциальной информации. Введенный пароль будет виден в адресной строке браузера, будет сохранен в истории посещенных сайтов.

Хотя данные могут передаваться в незашифрованном виде, увидеть их можно только через инструменты разработчика или с помощью другого специального программного обеспечения.

При повторном обращении по конечной ссылке на сервере будет произведена повторная обработка, например, будет создана повторная заявка, оформлен еще один заказ, создан еще один запрос на обратную связь.

Повторное обращение по конечной ссылке не приведет к повторной обработке запроса с введенными ранее параметрами.

Переход по гиперссылке с параметрами равнозначен отправке запроса через HTML форму.

Нет технической возможности поместить POST запрос в гиперссылку.

СитуацияGETPOST
Фильтр товаров
AJAX запросыИспользуются оба метода. Выбор зависит от контекста. Принципы выбора метода такие же, как и для HTML форм.

Сравнительная таблица HTTP методов GET и POST

В таблице ниже приведены основные свойства и отличия GET и POST методов.

Данные видны всем в адресной строке браузера, истории браузера и т.п.

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

Не более 2048 символов

Примечание: ограничения могут быть установлены сервером.

Страница с параметрами может быть добавлена в закладки

Страница с параметрами не может быть добавлена в закладки.

СвойствоGETPOST
Способ передачи данныхЧерез URLВ теле HTTP запроса
Защита данных
КэшированиеСтраница с параметрами может быть кэшированаСтраница с параметрами не может быть кэширована
Индексирование поисковыми системамиСтраница с параметрами может быть индексированаСтраница с параметрами не может быть индексирована
Возможность отправки файловНе поддерживаетсяПоддерживается
Поддерживаемые типы кодированияapplication/x-www-form-urlencoded
Использование в гиперссылках

ДаНет
Использование в HTML формахДаДа
Использование в AJAX запросахДаДа

Пример использования GET запроса

В примере показана простая HTML форма фильтра по нескольким параметрам.

HTML код формы, генерирующей GET запрос:

После отправки формы браузер переведет пользователя по ссылке:

Ссылка содержит URL документа, отвечающего за обработку и блок параметров. Знак «?» отмечает начало блока параметров GET запроса. Далее находятся пары «имя-значение», разделенные знаком «&». Имена параметров отделены от значений знаком «=».

Переход по ссылке, приведенной выше, будет равнозначен отправке формы с указанными параметрами.

Пример использования POST запроса

В примере показана простая HTML форма авторизации.

HTML код формы, генерирующей POST запрос:

После отправки формы браузер переведет пользователя по ссылке:

Для того, чтобы увидеть переданные параметры, воспользуемся инструментами разработчика.

Запрос состоит из области заголовков и тела запроса.

Что такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод post

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

В теле запроса содержатся передаваемые параметры. Формат тела запроса может отличаться в зависимости от выбранного типа кодирования.

Источник

HTTP-запрос методом POST.

Что такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод post

Кроме метода GET, который мы рассмотрели в предыдущей заметке, существует еще один метод отправки запроса по протоколу HTTP – метод POST. Метод POST тоже очень часто используется на практике.

Что такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод post

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

Для того, чтобы выполнить этот вид запроса, нам необходимо нажать на кнопку с атрибутом type=»submit», которая расположена на веб-странице. Обратите внимание, что эта кнопка расположена в элементе

Что такое метод post. Смотреть фото Что такое метод post. Смотреть картинку Что такое метод post. Картинка про Что такое метод post. Фото Что такое метод post

Если пользователь введет в текстовое поле какой-либо текст и нажмет на кнопку «Отправить», то на сервер будет отправлена переменная text со значением того содержимого, которое ввел пользователь. Эта переменная будет отправлена методом POST.

Если в форме написать так:

То данные будут отправляться методом GET.

Если, в случае с GET-запросом, объем данных, которые мы могли передать ограничивался длиной адресной строки браузера, то в случае с запросом POST, такого ограничения нет, и мы можем передавать значительные объемы информации.

Еще одно отличие метода POST от GET, метод POST скрывает все передаваемые им переменные и их значения, в своём теле (Entity-Body). В случае с методом GET они хранились в строке запроса (Request-URI).

Вот пример запроса, выполненного методом POST:

Таким образом, передавая данные методом POST, их будет намного труднее перехватить злоумышленнику, т.к. они скрыты от непосредственного просмотра, поэтому метод передачи данных методом POST считается более безопасным способом.

Кроме того, методом POST можно передавать не только текст, но и мультимедиа данные (картинки, аудио, видео). Существует специальный параметр Content-Type, который определяет тот вид информации, который необходимо передать.

Ну и, наконец, чтобы на сервере получить данные, которые были переданы этим методом, используется переменная POST.

Вот пример обработки на языке PHP:

Все мои уроки по серверному программированию здесь.

Источник

Типы HTTP-запросов и философия REST

Этот пост — ответ на вопрос, заданный в комментарии к одной из моих статей.

В статье я хочу рассказать, что же из себя представляют HTTP-методы GET/POST/PUT/DELETE и другие, для чего они были придуманы и как их использовать в соответствии с REST.

Итак, что же представляет из себя один из основных протоколов интернета? Педантов отправлю к RFC2616, а остальным расскажу по-человечески 🙂

Этот протокол описывает взаимодействие между двумя компьютерами (клиентом и сервером), построенное на базе сообщений, называемых запрос (Request) и ответ (Response). Каждое сообщение состоит из трех частей: стартовая строка, заголовки и тело. При этом обязательной является только стартовая строка.

Стартовые строки для запроса и ответа имеют различный формат — нам интересна только стартовая строка запроса, которая выглядит так:

где METHOD — это как раз метод HTTP-запроса, URI — идентификатор ресурса, VERSION — версия протокола (на данный момент актуальна версия 1.1).

Заголовки — это набор пар имя-значение, разделенных двоеточием. В заголовках передается различная служебная информация: кодировка сообщения, название и версия браузера, адрес, с которого пришел клиент (Referrer) и так далее.

Тело сообщения — это, собственно, передаваемые данные. В ответе передаваемыми данными, как правило, является html-страница, которую запросил браузер, а в запросе, например, в теле сообщения передается содержимое файлов, загружаемых на сервер. Но как правило, тело сообщения в запросе вообще отсутствует.

Пример HTTP-взаимодействия

Первая строка — это строка запроса, остальные — заголовки; тело сообщения отсутствует

Ресурсы и методы

Вернемся к стартовой строке запроса и вспомним, что в ней присутствует такой параметр, как URI. Это расшифровывается, как Uniform Resource Identifier — единообразный идентификатор ресурса. Ресурс — это, как правило, файл на сервере (пример URI в данном случае ‘/styles.css’), но вообще ресурсом может являться и какой-либо абстрактный объект (‘/blogs/webdev/’ — указывает на блок «Веб-разработка», а не на конкретный файл).

Тип HTTP-запроса (также называемый HTTP-метод) указывает серверу на то, какое действие мы хотим произвести с ресурсом. Изначально (в начале 90-х) предполагалось, что клиент может хотеть от ресурса только одно — получить его, однако сейчас по протоколу HTTP можно создавать посты, редактировать профиль, удалять сообщения и многое другое. И эти действия сложно объединить термином «получение».

В игру вступает REST

REST (REpresentational State Transfer) — это термин был введен в 2000-м году Роем Филдингом (Roy Fielding) — одним из разработчиков протокола HTTP — в качестве названия группы принципов построения веб-приложений. Вообще REST охватывает более широкую область, нежели HTTP — его можно применять и в других сетях с другими протоколами. REST описывает принципы взаимодействия клиента и сервера, основанные на понятиях «ресурса» и «глагола» (можно понимать их как подлежащее и сказуемое). В случае HTTP ресурс определяется своим URI, а глагол — это HTTP-метод.

REST предлагает отказаться от использования одинаковых URI для разных ресурсов (то есть адреса двух разных статей вроде /index.php?article_id=10 и /index.php?article_id=20 — это не REST-way) и использовать разные HTTP-методы для разных действий. То есть веб-приложение, написанное с использованием REST подхода будет удалять ресурс при обращении к нему с HTTP-методом DELETE (разумеется, это не значит, что надо давать возможность удалить всё и вся, но любой запрос на удаление в приложении должен использовать HTTP-метод DELETE).

REST дает программистам возможность писать стандартизованные и чуть более красивые веб-приложения, чем раньше. Используя REST, URI для добавления нового юзера будет не /user.php?action=create (метод GET/POST), а просто /user.php (метод строго POST).

В итоге, совместив имеющуюся спецификацию HTTP и REST-подход наконец-то обретают смысл различные HTTP-методы. GET — возвращает ресурс, POST — создает новый, PUT — обновляет существующий, DELETE — удаляет.

Проблемы?

Да, есть небольшая проблема с применением REST на практике. Проблема эта называется HTML.

PUT/DELETE запросы можно отправлять посредством XMLHttpRequest, посредством обращения к серверу «вручную» (скажем, через curl или даже через telnet), но нельзя сделать HTML-форму, отправляющую полноценный PUT/DELETE-запрос.

Дело в том, спецификация HTML не позволяет создавать формы, отправляющие данные иначе, чем через GET или POST. Поэтому для нормальной работы с другими методами приходится имитировать их искусственно. Например, в Rack (механизм, на базе которого Ruby взаимодействует с веб-сервером; с применением Rack сделаны Rails, Merb и другие Ruby-фреймворки) в форму можно добавить hidden-поле с именем «_method», а в качестве значения указать название метода (например, «PUT») — в этом случае будет отправлен POST-запрос, но Rack сможет сделать вид, что получил PUT, а не POST.

Источник

Метод post php пример пост запроса

Подробно о методе post в php

Что такое метод POST?

Как обозначается метод отправки данных «POST» в форме?

Место обработки данных из метода POST?

Место(условно) где будет происходить обработка только два:

Данные будут обработаны:

Либо на этой странице.

Что нужно, чтобы отправить POST запрос!?

Для того, чтобы отправить post запрос потребуется:

Форма, из которой будет отправляться «post запрос».

Скрипт, который получит, обработает и выведет результат(если это требуется.)

Алгоритм отправки POST запроса!?

Алгоритм отправки данных методом post :

Обрабатываем данные отправление методом пост.

Какие данные отправляет метод POST

На живом примере(следующий пункт) разберем, как передаются данные в методом «POST».

Какой тип данных у POST?

Зачем нужно знать, какое тип у данных в методе POST?

Если вы знаете тип данных, то у соответствующих типах есть свои признаки поведения!

Если мы знаем поведение, то можем управлять этими данными.

Ниже рассматривается пример отправки методом post и получаем результат. и там же выводим массив «$_POST».

После нажатия на кнопку, вы можете вернуться сюда, и посмотреть, что вернет функция var_dump.

Получение массива POST с примером.

Для этого нам понадобится:

Форма из которой будем отправлять данные. Подробно на форме остановимся ниже.

Чтобы приять данные нужно создать такую запись в php, для вывода массива используем print_r:

Если вы размещаете такую запись внутри html документа, нужно, чтобы html понимал php

Соберем весь код для получения и вывода массива POST

Форма для отправки массива POST

У вас есть два варианта:

Просто нажмите на кнопку отправить и вы получите результат «массива POST».

Либо в полях ввода напишите свою информацию.

И нажимаем отправить!

Форма с методом POST

Разберем подробно из чего должна состоять форма для отправки «запроса POST».

Необходимый атрибут method, который будет указывать тип метода, в нашем случае это «POST».

Форму выведем ниже!

Далее нам нужно переданные данные из этой формы обработать!

Как получать данные отправленные методом POST

Для данного поля условие получения данных будет таким:

Полностью можем собрать получение пост запроса из этого input-a :

Тоже самое делаем со вторым полем ввода:

Мы рассмотрели два поля ввода!

Но ведь у нас есть кнопка отправить!

Для данной кнопки можно составить тоже условие и уже внутрь поместить два условия о которых мы сказали выше.

Это будет проверка на отправку данных, т.е. была ли нажата кнопка submit:

Живой пример отправки данных методом POST

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

Чтобы вы не ходили в поисках результата, нам потребуется вернуться к нашему результату в этом пункте, поэтому нам понадобится якорь

И для вывода переданных данных используем echo, использовали два типа кавычек ‘ и «

Полный код выше идущей формы с php обработчиком пост запроса!

Введите какие-то данные в поля ввода и нажмите отправить:

Как отправить POST запрос на другую страницу!?

Первое! Откройте страницу и посмотрите, что там написано!

Теперь наберите текст и отправьте данные. методом post? на другую страницу:

Как работает отправка post запроса на другую страницу!?

Нам понадобится опять форма для отправки каких-то данных:

+ использовали тип hidden(скрытое поле), в котором отправляем ссылку(прост пример. )

В указываем страницу. на которую будем отправлять pos запрос!

Код страницы для приема post запроса

На странице для приема данных переданных через post делаем все абсолютно аналогично, что и выше было рассказано! Создаем условия и проверяем были ли переданы данные методом post!

Пример страницы для приема пост запроса

Вы отправили данные:

Post запрос был отправлен со страницы’;

echo ‘Вы здесь ничего не увидите, пока не отправить пост запрос со страницы со страницы’;

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *