Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Get и Post запросы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: разница на пальцах
Mefistofel
Отправлено: 28 Апреля, 2012 - 18:40:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 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 запрос (или не я, а сайт, то есть программа). Верно ли это мое понимание?


-----
Чем короче и понятней код, тем ты нужнее народу
 
 Top
OrmaJever Модератор
Отправлено: 28 Апреля, 2012 - 18:44:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Разница в том что GET запрос передаётся через сылку и имеет ограничение на длину, а POST передаётся через формы и ограничение там гораздо больше, GET тоже можно передавать через форму установив method=get, но это редкие случаи, в основном GET передается через сылку.
Учитывая что современые браузеры любят сохранять историю сылок, то передавать важные даные (логины, пароли, возможно почту) через GET не советуется, для этого почти всегда используют POST.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Mefistofel
Отправлено: 28 Апреля, 2012 - 18:52:36
Post Id



Частый гость


Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012  
Откуда: Россия


Помог: 0 раз(а)




OrmaJever пишет:
Разница в том что GET запрос передаётся через сылку и имеет ограничение на длину, а POST передаётся через формы и ограничение там гораздо больше, GET тоже можно передавать через форму установив method=get, но это редкие случаи, в основном GET передается через сылку.
Учитывая что современые браузеры любят сохранять историю сылок, то передавать важные даные (логины, пароли, возможно почту) через GET не советуется, для этого почти всегда используют POST.


А на примере открытого окошка в браузере - можно? Если я ввожу запрос в строке поиска на сайте - я делаю GET запрос, который отображается в адресной строке и выполняется. Далее я получаю ответ (например, выводится блок сайта по моему запросу).

А POST запрос - ввод логина и пароля при регистрации, например... Если аккаунт уже существует - обрабатывается запрос, сервер видит ранее созданный аккаунт - появляется страница профиля или что-то подобное. Так?
Если эти примеры применимы - тогда я не понимаю, какие ограничения есть у GET запроса? Они же намного длиннее, чем к примеру логины и пароли...
И как мне заранее понять, какой запрос я делаю - GET или POST...


-----
Чем короче и понятней код, тем ты нужнее народу
 
 Top
OrmaJever Модератор
Отправлено: 28 Апреля, 2012 - 19:03:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Mefistofel пишет:
Если эти примеры применимы - тогда я не понимаю, какие ограничения есть у GET запроса? Они же намного длиннее, чем к примеру логины и пароли...

Да эти примеры применимы. Я же сказал что логины и пароли нельзя передавать через GET потому что это попадёт в историю браузера и при самом запросе в сылке их будет видно. Вам приятно будет если к вас придут друзья и из истории узнают ваши пароли от почты, социальных сетей и т.д?
Mefistofel пишет:
И как мне заранее понять, какой запрос я делаю - GET или POST...

POST передаётся только через форму с атрибутом method=post, а GET либо пишется напрямую в сылку либо так же через форму с атрибутом method=get


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Mefistofel
Отправлено: 28 Апреля, 2012 - 19:13:37
Post Id



Частый гость


Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012  
Откуда: Россия


Помог: 0 раз(а)




Благодарю. Мне почтииииииииии все ясно. Но все же. Если как пользователь вбиваю в поис на сайте запрос, то как я могу опрделить, какой метод запроса для формы "поиск" выставил на сервере админ - POST или GET? Объясню, зачем мне это. Часто на информационных сайтах можно встретить фразу "через форму такую-то отправляем GET запрос на сервер" Откуда я знаю, что это GET? Я не в курсе настроек... Может создатели статей предполагают просто, что для данной формы часто применяют именно такой метод... Каша в голове...


-----
Чем короче и понятней код, тем ты нужнее народу
 
 Top
avtor.fox
Отправлено: 29 Апреля, 2012 - 12:04:41
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Выбрасывайте всё из головы. Забили её ненужной информации. Главное запомнить что пост запросы никак не отображаются в адресной строке и применимы в основном для передачи "конфиденциальной" информации. Гет запросы служат в основном для динамики отображения контента. Самый простой пример -

<a href='news.php?id=312'>Просмотр новости</a>

В данной ссылке news.php является обработчиком гет параметра id. То бишь если изменить на news.php?id=112, то обработчик покажет Вам новость с этим идентификатором (если она существует в базе/файлах или где-либо ещё Улыбка )
 
 Top
DelphinPRO
Отправлено: 29 Апреля, 2012 - 19:06:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




еще одно мнемоническое правило:
GET - получить
POST - отправить
т.е. Когда вы запрашиваете какую-либо страницу с сервера, то используйте запрос GET
когда вы отправляете какие-либо данные на сервер - используйте запрос POST


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Mefistofel
Отправлено: 29 Апреля, 2012 - 20:08:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012  
Откуда: Россия


Помог: 0 раз(а)




Спасибо, ребята! Ум стал ясным, теперь все ясно!)


-----
Чем короче и понятней код, тем ты нужнее народу
 
 Top
BULLS
Отправлено: 13 Июня, 2012 - 00:39:53
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




Всем привет.
Помогите разобраться с post и get запросами с использованием Indy Clients (IdHTTP(IdHTTP)) в Borland Delphi 7. Напишите пожалуйста программу или что-то на подобии, на свое усмотрение (что-нибудь по проще, ибо я вот тока недавно начал знакомиться с программой). Заранее благодарен.

(Отредактировано автором: 13 Июня, 2012 - 00:50:13)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB