Показать полную графическую версию : Чем отличается метод POST от GET?
Vlad Drakula
06-06-2003, 10:48
Чем отличается метод POST от GET?
Prisoner
06-06-2003, 20:44
Данные метода GET передаются скрипту в строке броузера в виде
scriptname?parameter1=value1&parameter2=value2&...&... Метод POST же передает данные скрипту иначе - через стандартный поток ввода-вывода не загаживая строку адреса. Ку?
Vlad Drakula
06-06-2003, 21:24
Prisoner
а если у меня есть фотма в которой стоит POST могу я просто заменить на GET?
Prisoner
07-06-2003, 01:46
почему нет? Только если скажем скрипт PHP-шный и обращается к переменным как $POST["some_parameter"], то замена в форме метода даст облом - переменные будут не означены... ну то есть надо учесть языковые нюансы в реализации скриптика, а так - меняй на здоровье :)
Да... така кака гет передает все через строку адреса, которая имеет ограничение по длине (пост не имеет), то нать сделать выводы ;)
Vlad Drakula
07-06-2003, 09:58
Prisoner
а если скрипт на перле?
Prisoner
08-06-2003, 00:28
А вот тут зубастенький звеняй, не шарю я в перле :idontnow:
Sean Ingumsky
08-06-2003, 02:20
Vlad Drakula
Если скрипт на Perl, можно использовать GET - тогда надо использовать переменную окружения. Запрос (query) находится в $ENV{'QUERY_STRING'} в виде script?name1=value1&name2=value2 *и т.д.
Vlad Drakula
08-06-2003, 10:22
Sean Ingumsky
а если скрипт я не могу править.
То есть, у меня есть форма там написано POST я хочу просто заменить на GET, так пройдет?
Vlad Drakula
Если скрипт пользует модуль CGI, то можно. Если делает всё ручками, то требуются незначительные изменения.
Приём данных в скрипте при двух методах абсолютно разный!
Если ты не можешь править скрипт, то заменить метод можно только в том случае, если в самом скрипте реализована проверка того, какой метод используется. Иначе нельзя.
При использовании метода GET скрипт берёт все данные , переданные от клиента из переменной окружения QUERY_STRING.
При использовании метода POST - нужно узнать сколько передано данных из переменной окружения CONTENT_LENGHT? а потом прочитать их из стандартного ввода. Очень сильно упростит задачу модуль для Perla CGI.pm, который идёт в поставке с Perl.
Vlad Drakula
23-06-2003, 22:12
ребята, зачем так сложно берем и просто заменяем в методе и все прекрано работает, без каких либо вмешательств в серверную часть.
Добавлено:
ребята, зачем так сложно берем и просто заменяем в методе и все прекрано работает, без каких либо вмешательств в серверную часть.
Ну раз работает, то значит софт на серваке, который обрабатывает запрос поддерживает оба метода... :)
Prisoner
24-06-2003, 15:59
Vlad Drakula
Угу, именно как изволил молвить Dragon7, но смею отметить, что не всегда все так кул :). Стоит всеже иметь ввиду заморочки языков на которых писаны скрипты... а вдруг...
Язык на котором реализован скрипт большого значения не имеет. Скрипт на любом языкем может проверять наличие одного метода или обоих сразу. В том то и смысл CGI, что проги писать можно на чём угодно от шелла и до Lispa лиш бы твоя ось и апач всё правильно понимал. :)
AlexanderIpp
24-06-2003, 19:10
Оговорочка - GET не переваривает поля типа file (и вообще формы в multipart/form-data).
CGI.pm не рекомендую - громоздок.
Лучше cgi-lib.pl. Правда, куки не парсит, но в остальном - хорошая вещь, причём маленькая и быстая. И всё что надо умеет, включая получение файлов во временный дир.
Под любой язык на котором можно написать CGI-прогу и под сами же серваки существуют просто куча библиотек и модулей по работе с данными форм и вообще удовлетворяющие все требования для написания CGI-скриптов.
Своих лучше не придумывать, может быть много дырок. Лучше не изобретать колесо, а взять чужую прогу и проверив её в работе юзать в своём случае.
Prisoner
25-06-2003, 05:40
Аминь :)
All
что-то почитал и смешно немного стало как Vlad Drakula это всё пытался выяснить такими обходными фразами а если скрипт я не могу править.
на самом деле это всё про наш любимый OSZone...
вот почитайте - может зацените фишку... :
http://www.forum.oszone.net/topic.cgi?forum=25&topic=169
Vlad Drakula
25-06-2003, 15:00
ну зачем же так в лоб, люди ту думают о высоком, а ты так всех опустил...
Добавлено:
ну зачем же так в лоб, люди ту думают о высоком, а ты так всех опустил...
AlexanderIpp
25-06-2003, 22:59
Dragon7
Ну для GET и POST если без мультипарта, ничего особо не накосячишь...
С мультипартом сложнее...
А вообще написанный для себя алгоритм всегда эффективнее ориентированного на массовый случай... ;)
Лучше не изобретать колесо, а взять чужую прогу и проверив её в работе юзать в своём случае.
ПОдход для очень плохо разбирающегося в вопросе человека.
Хотя свои средства лучше писать с оглядкой на лучшие образцы чуществующих, особенно если не уверен в своих силах, факт.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC