что лучше POS или GET

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by akimov_aleks, 16 Jun 2010.

Thread Status:
Not open for further replies.
  1. akimov_aleks

    akimov_aleks New Member

    Joined:
    3 May 2009
    Messages:
    39
    Likes Received:
    1
    Reputations:
    0
    Изучаю потихоньку и возник вопрос
    что лучше делать
    проктический людой POS запрос можно переделать в GET запрос. у кого какие мнения что жу лучше POS или GET
     
  2. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Смотря для каких целей.

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

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

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Не практически любой.
    Если у тебя в скрипте явно прописано $_POST['lalalal'] то постом ты данные эти не передашь, если у тебя register_global не включено.
    Если свой двиг\скрипт, то лучше делай post - так юзеры меньше буду лазить где е надо. Хотя если скрипт явно не безопасен - делай гет, ибо все щапросы будут логироваться - или пост, но с mod_rewrite
    Выбирай сам)
     
  4. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    поправочка wildshaman
    register_global вырубили в стандарте еще чутьли не с 4 версии...
    странная логика если скрипт не безопасен делать GET o_O

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

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

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

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

    akimov_aleks New Member

    Joined:
    3 May 2009
    Messages:
    39
    Likes Received:
    1
    Reputations:
    0
    так так ребята раздео о delphi
    какие поисковики.
    разберае IdHTTP.Pos или IdHTTP.Get
     
  6. tracy

    tracy Elder - Старейшина

    Joined:
    24 Mar 2009
    Messages:
    244
    Likes Received:
    119
    Reputations:
    40
    ТС, напиши по Русски
    А вообще так Get легче , но Post чаще используют для авторизаций )
     
  7. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    Как на сайте сделано, так и в программе делай.
     
  8. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    POST конечно, больше можно передать
     
  9. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    как это понять, что лучше? о_О это 2 разных по сути метода.

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

    разъясняю:

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

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

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

    Dr1ver Elder - Старейшина

    Joined:
    20 Aug 2008
    Messages:
    83
    Likes Received:
    80
    Reputations:
    14
    У пост лимит передаваемых данных больше и не отображается в адресной строке, вот и вся разница, пост запрос может содержать не только переменные , но и другие данные, например файл.
     
  11. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    Dr1ver, думаешь научил чему-то? оО про multipart/form-data я знаю уже давно. Всеравно это 2 РАЗНЫХ метода!
     
  12. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    трудно спорить какой из методов лучше, каждый хорош в своём роде.
     
  13. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    А файлы какбы ты постом и не передашь.
    Зато пост не логируется без mod_security :)

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

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    это опечатка или ты серьезно так считаешь? :confused:
     
  15. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    товарищъъъъъ!!! вы с луны упали совсем?! о________О а multipart/form-data начто реализован в методе POST?? после такого заявление, вас остается направить на чтение статей об HTTP!
     
  16. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    276
    Likes Received:
    282
    Reputations:
    2
    писал тут вчера программку. было влом делать через пост, решил тупо гет'нуть урл с подставленными данными. всё бы хорошо, но сервер не принимал этот запрос и перекидывал на совершенно левую страницу, хотя запросы были идентичными.
    поэтому да, как сделано на сайте, так делайте в проге :)
     
  17. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    очередной тупой спор, вы бы еще начали бы спорить по поводу того что лучше рот или жопа. С одной стороны и то и другое можно использовать одинаково, но вот срать ртом както не удобно былобы, Да и жевать жопой тоже. По идее всё зависит от ситуации и конкретного сервака и его скриптов.

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

    Исключение могут быть только следующие ситуации:
    Через GET можно посылать:
    - если требуется наглядность или логирование сервером
    - если требуется удобство быстрого редактирования параметрах(допустим изменение размеров изображения, очень удобно через GET потому что правится быстро)
    - поисковые запросы.
    Через POST можно посылать если:
    - необходимо скрыть от пользователя какието служебные данные, допустим коды от капчи
    - необходимо скрыть от серверного логирования запросы.
     
    #17 slesh, 17 Jun 2010
    Last edited: 17 Jun 2010
    Redfern89 and Vlad&slav like this.
  18. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    Спалю мега-приват - файлы и без multipart/form-data можно передавать :)
     
  19. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 M_script_ можно но не нужно. Потому что в мультипарт файл передается без изменений, а если ты его просто постом отправишь, то браузеру придется предварительно конвертнуть спец символы. а сервак наоборот должен будет провернуть это в обратную, что считается очень не рациональным в плане производительности.
     
  20. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Да, опечатка, я имел в виду гет))
     
Thread Status:
Not open for further replies.