Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   что лучше POS или GET (https://forum.antichat.xyz/showthread.php?t=212031)

akimov_aleks 16.06.2010 23:57

что лучше POS или GET
 
Изучаю потихоньку и возник вопрос
что лучше делать
проктический людой POS запрос можно переделать в GET запрос. у кого какие мнения что жу лучше POS или GET

POS_troi 17.06.2010 00:02

Смотря для каких целей.

Если хочеш знать все что происходит то GET лучше - он логируется.

И вообще разделом ошибся

wildshaman 17.06.2010 00:02

Не практически любой.
Если у тебя в скрипте явно прописано $_POST['lalalal'] то постом ты данные эти не передашь, если у тебя register_global не включено.
Если свой двиг\скрипт, то лучше делай post - так юзеры меньше буду лазить где е надо. Хотя если скрипт явно не безопасен - делай гет, ибо все щапросы будут логироваться - или пост, но с mod_rewrite
Выбирай сам)

Gar|k 17.06.2010 00:22

поправочка wildshaman
Цитата:

Если у тебя в скрипте явно прописано $_POST['lalalal'] то гетом ты данные эти не передашь...
register_global вырубили в стандарте еще чутьли не с 4 версии...
странная логика если скрипт не безопасен делать GET o_O

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

насколько я помню в apache можно настроить логирование и POST запросов целиком

минусы GET запроса это
1 некрасивый адрес - это очень не нравиться поисковикам
2 все переменные передаваемые скрипту как на ладони (mod_rewrite рулит хотя сейчас чаще встречается связка mod_rewrite и собственного парсера ЧПУ типа index.php?rew=/abakadabra/)

в общем видимых плюсов GET я не вижу ЧПУ рулит )

akimov_aleks 17.06.2010 07:35

так так ребята раздео о delphi
какие поисковики.
разберае IdHTTP.Pos или IdHTTP.Get

tracy 17.06.2010 07:51

Цитата:

Сообщение от akimov_aleks
так так ребята раздео о delphi
какие поисковики.
разберае IdHTTP.Pos или IdHTTP.Get

ТС, напиши по Русски
А вообще так Get легче , но Post чаще используют для авторизаций )

M_script_ 17.06.2010 07:54

Цитата:

Сообщение от akimov_aleks
так так ребята раздео о delphi
какие поисковики.
разберае IdHTTP.Pos или IdHTTP.Get

Как на сайте сделано, так и в программе делай.

Vlad&slav 17.06.2010 09:23

POST конечно, больше можно передать

RedFern.89 17.06.2010 09:52

как это понять, что лучше? о_О это 2 разных по сути метода.

Во-первых не POS а POST

разъясняю:

GET - Используется для запроса содержимого указанного ресурса. С помощью метода GET можно также начать какой-либо процесс. В этом случае в тело ответного сообщения следует включить информацию о ходе выполнения процесса.

POST - Применяется для передачи пользовательских данных заданному ресурсу. Например, в блогах посетители обычно могут вводить свои комментарии к записям в HTML-форму, после чего они передаются серверу методом POST и он помещает их на страницу. При этом передаваемые данные (в примере с блогами — текст комментария) включаются в тело запроса. Аналогично с помощью метода POST обычно загружаются файлы на сервер.

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

Dr1ver 17.06.2010 10:05

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

RedFern.89 17.06.2010 10:14

Dr1ver, думаешь научил чему-то? оО про multipart/form-data я знаю уже давно. Всеравно это 2 РАЗНЫХ метода!

heretic1990 17.06.2010 10:42

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

wildshaman 17.06.2010 11:41

Цитата:

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

А файлы какбы ты постом и не передашь.
Зато пост не логируется без mod_security :)

2рукуешс1990: да, согласен, в зависимости от задчи надо юзать или пост, или гет. Ясно, что названия категорий на сайте, к примеру, ты не будешь передавать постом

M_script_ 17.06.2010 13:07

Цитата:

Сообщение от wildshaman
А файлы какбы ты постом и не передашь.

это опечатка или ты серьезно так считаешь? :confused:

RedFern.89 17.06.2010 13:54

Цитата:

Сообщение от wildshaman
А файлы какбы ты постом и не передашь.

товарищъъъъъ!!! вы с луны упали совсем?! о________О а multipart/form-data начто реализован в методе POST?? после такого заявление, вас остается направить на чтение статей об HTTP!

1n0y 17.06.2010 14:06

писал тут вчера программку. было влом делать через пост, решил тупо гет'нуть урл с подставленными данными. всё бы хорошо, но сервер не принимал этот запрос и перекидывал на совершенно левую страницу, хотя запросы были идентичными.
поэтому да, как сделано на сайте, так делайте в проге :)

slesh 17.06.2010 14:06

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

Но для понимания смысла GET и POST достаточно просто задуматься над их переводом.
GET - получить
POST - отправить
Именно по этой концепции GET должен использоваться для получения каких либо страниц (с передачей информации о какой либо странице через параметры). т.е. в параметрах GET должны быть номера страницы, её идентификатор, различные флаги по формированию страницы (сортировка, критерии выбора итд итп)
А вот POST - посылка данных пользователем. И в его параметра указываются непосредственно данные форм, которые заполняет юзверь (текстовые поля, радиобатоны, чекбоксы, файлы, списки итд итп).
К томуже при мультипарт запросах ооочень не рационально передавать много служебных данных (для этого юзается параметры вызова скрипта(как в GET запросе))
Да и POST запрос весомее GET запроса, потому что передаются служебные заголовке о типе, кодировке и размере данных.

Исключение могут быть только следующие ситуации:
Через GET можно посылать:
- если требуется наглядность или логирование сервером
- если требуется удобство быстрого редактирования параметрах(допустим изменение размеров изображения, очень удобно через GET потому что правится быстро)
- поисковые запросы.
Через POST можно посылать если:
- необходимо скрыть от пользователя какието служебные данные, допустим коды от капчи
- необходимо скрыть от серверного логирования запросы.

M_script_ 17.06.2010 14:07

Цитата:

Сообщение от RedFern.89
multipart/form-data начто реализован в методе POST??

Спалю мега-приват - файлы и без multipart/form-data можно передавать :)

slesh 17.06.2010 14:12

2 M_script_ можно но не нужно. Потому что в мультипарт файл передается без изменений, а если ты его просто постом отправишь, то браузеру придется предварительно конвертнуть спец символы. а сервак наоборот должен будет провернуть это в обратную, что считается очень не рациональным в плане производительности.

wildshaman 17.06.2010 14:50

Да, опечатка, я имел в виду гет))

RedFern.89 17.06.2010 18:17

wildshaman, ни кто и не подумал, что get'ом можно файлы передавать )) get'ом их можно качать)) как условно, так и частично =))

akimov_aleks 17.06.2010 18:45

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

wildshaman 17.06.2010 18:51

скорость не зависит от того, гетом ты пошлешь данные или постом.

RedFern.89 17.06.2010 18:56

akimov_aleks, не извращайся. Инвайт вконтакте реализован POST'ом, значит лучше так и делать. Иначе будет по-глючному.

RedFern.89 17.06.2010 18:59

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

Sams 17.06.2010 19:06

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

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

RedFern.89 17.06.2010 19:10

Sams, GET предназначен для получения данных, а не для передачи! просто в URL'е ты указываешь параметры (ghb необходимости), что бы сервер понял о чем идет речь и т.д.

Chrome~ 17.06.2010 19:43

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

RedFern.89 17.06.2010 20:14

если честно за idHTTP1.Pos уже хочеться по е**лу дать... вот такими хекерами и кишит весь античат...обидно..


Время: 11:39