Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
Господа, новый вопрос, точнее просьба доступно объяснить разницу или же просто описать, что именно я понял неправильно.
Что представляет из себя GET запрос? (сам задал - сам отвечаю)
Это запрос пользователя о получении каких-либо данных на сервере посредством CGI программы (например, сайт какой-либо фирмы, которая реально вяжет и продает веники http://www[dot]sonar54[dot]ru/sauna_cata[dot][dot][dot]p?SECTION_ID=725 ) Слева есть форма, в которой нужно ввести цену от и до. Если я ввожу определенный диапазон, то я таким образом отправляю на сервер запрос о предоставлении мне веников от 10 рублей до 1000. Когда я нажимаю Enter - я отправляю этот самый запрос. Адресная строка меняет свой вид на новый, добавленный моим запросом, с тегами, но отфильтрованными в спецсимволы. Сервер получает мои пожелания увидеть веники в моем ценовом диапазоне, а вместе с тем получает и данные обо мне - территориальное расположение, ip-адрес, время и прочее... то-есть я выполнил GET запрос (или не я, а сайт, то есть программа). Верно ли это мое понимание?
----- Чем короче и понятней код, тем ты нужнее народу
OrmaJever
Отправлено: 28 Апреля, 2012 - 18:44:51
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Разница в том что GET запрос передаётся через сылку и имеет ограничение на длину, а POST передаётся через формы и ограничение там гораздо больше, GET тоже можно передавать через форму установив method=get, но это редкие случаи, в основном GET передается через сылку.
Учитывая что современые браузеры любят сохранять историю сылок, то передавать важные даные (логины, пароли, возможно почту) через GET не советуется, для этого почти всегда используют POST.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Mefistofel
Отправлено: 28 Апреля, 2012 - 18:52:36
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
OrmaJever пишет:
Разница в том что GET запрос передаётся через сылку и имеет ограничение на длину, а POST передаётся через формы и ограничение там гораздо больше, GET тоже можно передавать через форму установив method=get, но это редкие случаи, в основном GET передается через сылку.
Учитывая что современые браузеры любят сохранять историю сылок, то передавать важные даные (логины, пароли, возможно почту) через GET не советуется, для этого почти всегда используют POST.
А на примере открытого окошка в браузере - можно? Если я ввожу запрос в строке поиска на сайте - я делаю GET запрос, который отображается в адресной строке и выполняется. Далее я получаю ответ (например, выводится блок сайта по моему запросу).
А POST запрос - ввод логина и пароля при регистрации, например... Если аккаунт уже существует - обрабатывается запрос, сервер видит ранее созданный аккаунт - появляется страница профиля или что-то подобное. Так?
Если эти примеры применимы - тогда я не понимаю, какие ограничения есть у GET запроса? Они же намного длиннее, чем к примеру логины и пароли...
И как мне заранее понять, какой запрос я делаю - GET или POST...
----- Чем короче и понятней код, тем ты нужнее народу
OrmaJever
Отправлено: 28 Апреля, 2012 - 19:03:34
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Mefistofel пишет:
Если эти примеры применимы - тогда я не понимаю, какие ограничения есть у GET запроса? Они же намного длиннее, чем к примеру логины и пароли...
Да эти примеры применимы. Я же сказал что логины и пароли нельзя передавать через GET потому что это попадёт в историю браузера и при самом запросе в сылке их будет видно. Вам приятно будет если к вас придут друзья и из истории узнают ваши пароли от почты, социальных сетей и т.д?
Mefistofel пишет:
И как мне заранее понять, какой запрос я делаю - GET или POST...
POST передаётся только через форму с атрибутом method=post, а GET либо пишется напрямую в сылку либо так же через форму с атрибутом method=get
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Mefistofel
Отправлено: 28 Апреля, 2012 - 19:13:37
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
Благодарю. Мне почтииииииииии все ясно. Но все же. Если как пользователь вбиваю в поис на сайте запрос, то как я могу опрделить, какой метод запроса для формы "поиск" выставил на сервере админ - POST или GET? Объясню, зачем мне это. Часто на информационных сайтах можно встретить фразу "через форму такую-то отправляем GET запрос на сервер" Откуда я знаю, что это GET? Я не в курсе настроек... Может создатели статей предполагают просто, что для данной формы часто применяют именно такой метод... Каша в голове...
----- Чем короче и понятней код, тем ты нужнее народу
avtor.fox
Отправлено: 29 Апреля, 2012 - 12:04:41
Постоянный участник
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
Выбрасывайте всё из головы. Забили её ненужной информации. Главное запомнить что пост запросы никак не отображаются в адресной строке и применимы в основном для передачи "конфиденциальной" информации. Гет запросы служат в основном для динамики отображения контента. Самый простой пример -
<a href='news.php?id=312'>Просмотр новости</a>
В данной ссылке news.php является обработчиком гет параметра id. То бишь если изменить на news.php?id=112, то обработчик покажет Вам новость с этим идентификатором (если она существует в базе/файлах или где-либо ещё )
DelphinPRO
Отправлено: 29 Апреля, 2012 - 19:06:06
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
еще одно мнемоническое правило:
GET - получить
POST - отправить
т.е. Когда вы запрашиваете какую-либо страницу с сервера, то используйте запрос GET
когда вы отправляете какие-либо данные на сервер - используйте запрос POST
----- Чем больше узнаю, тем больше я не знаю.
Mefistofel
Отправлено: 29 Апреля, 2012 - 20:08:01
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
Спасибо, ребята! Ум стал ясным, теперь все ясно!)
----- Чем короче и понятней код, тем ты нужнее народу
BULLS
Отправлено: 13 Июня, 2012 - 00:39:53
Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Июнь 2012
Помог: 0 раз(а)
Всем привет.
Помогите разобраться с post и get запросами с использованием Indy Clients (IdHTTP(IdHTTP)) в Borland Delphi 7. Напишите пожалуйста программу или что-то на подобии, на свое усмотрение (что-нибудь по проще, ибо я вот тока недавно начал знакомиться с программой). Заранее благодарен.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.