schors
А кто мне может объяснить реальный смысл HTTP POST/PUT/PATCH/UPDATE? Я читал RFC, да. А зачем? Чтобы надпись на заборе красивее была?
Дата рождения: 26.08.1976
schors
А кто мне может объяснить реальный смысл HTTP POST/PUT/PATCH/UPDATE? Я читал RFC, да. А зачем? Чтобы надпись на заборе красивее была?
arts
schors
Alinaki
arts
schors
arts
schors
а его нельзя сформулировать, в том и дело. представь, что ты пишешь ну пусть ну питоне API для А-записи DNS. добавить, изменить, удалить. тебе минимум две функции адаптера придётся писать только потому что они параметры по разному воспринимают. не знаю как там DELETE. для трёх простейших действий максимум с двумя параметрами. что ты там куда вынес? ты дрочишь потом на HTTP что ли? ты его не видишь вообще, что там за инкрустации-то?
schors
Tenno-Seremel
Желаю что б у тебя все действия GET запросами выполнялись на сайтах.
schors
вижу только одну проблему для этого. длину строки запроса
arts
<img src="http://you.host/drop/all/my/databases"/>
И ты даже ничего не заметишь при заходе на страницу.
schors
ключ авторизации сам передастся?
arts
schors, сессия? Если ты залогинен, то да.
schors
это не рест-вей ) и утт я с ними согласен
Alinaki
schors, затем, что они появляются там далеко не просто так. и помогают разрабам ещё более прикладных протоколов отлаживать свои идиотские творения
schors
угу. пися 120 функций одного и тгго же с заменой имени метода. ппц как удобно
arts
schors, а ты предпочитаешь всё в одну функцию упихать?
schors
нет. но я бы претпочёл func_http_post(url,data_dict) четырем идентичным func_http_<method>, различающимся внутри только параметрами в curl и методам запихивания data_dict - в строку или в тело
arts
schors, приведи конкретный пример такого.
schors
чего пример? то что POST надо пихать переменные в тело, а в GET в строку - это понятно? То что CURL имеет опцию метода (причём разную) для методов это понятно? понятно что на каждый метод надо свою обёртку написать?
arts
schors, GET для получения контента, POST для добавления. Совершенно разный функционал. Вполне логично сделать две функции, а не одну.
schors
блять. это один функционал. это запрос-ответ к веб серверу. за то что туда пихается и как интерпретируется ответ отвечает всё равно не curl
Alinaki
Ты вообще в курсе, что гет - идемпотентен? Ну хотя бы это уже их разделяет. Дальше. При чем тут вообще куча функций к протоколу? Пиши одну, на всё.
arts
schors, ну так в вебе всё запрос-ответ, и что теперь, всё в одну кучу валить?
arts
schors, и совершенно непонятно, при чём тут вообще curl.
schors
я не понимаю что такое "идемпотентен". по факту я в телнет пишу URI+QUERY_STRUNG, всякие HTTP-заголовки, тело, получаю ответ в виде HTTP-заголовков и тела. что в POST, что в GET, что в остальных. GET может быть хоть импотентен - это будет зависеть от того, как приложение обработает запрос. я не понимаю зачем каблуком забивать в транспортный протокол логику приложения, один хер он её обработать не сможет
schors
да. именно так. потому что это суть этого уровня прослойки.
schors
ну возьми не curl, а arts_super_http_client_lib. суть не изменится.
Alinaki
schors, затем, блять, что на этом стоит весь веб, а не твоё импотентное приложение. если ты не понимаешь хттп — хуле ты вообще спор завёл? пользуйся одним гетом на всё.
а идемпотентен - чтоб ты знал - это значит, что сервер ОБЯЗАН вернуть один ответ на один и тот же запрос.
arts
schors, так тебе никто не запрещает так делать. Ты можешь вообще вообще весь сайт в один файл запихать, вместе с вёрсткой, скриптами и стилями, если тебе так удобно.
schors
данные в GET ты всё один будешь через & пихать в строку запроса, а в POST тем же раком в тело. в PUT/DELETE кстати не знаю - не могу найти где посмотреть
Alinaki
я в шоке вообще такие вещи слышать от хостера.
schors
не понимаю кейса этого. вот реально. я понимаю что написали и что это. но я не понимаю зачем это
Alinaki
schors, ну, хттп писали чуваки явно не тупее нас с тобой. кейс гета - поиск, запрос. кейс поста - сохранение. остальное - для удобства, ну даже чтения логов.
schors
дурной пример. зачем css/js/html в разных файлах или в одном - вполне имеет логику. зачем внезапно какую-то часть логики дублировать в транспортный протокол я пока не понял
schors
не надо переоценивать ум тех, кто дорвался до IETF. они просто дорвались до IETF и уболтали тусовку. слушай, я даже видел какие-то документы для SOAP
Alinaki
schors, хттп - прикладной протокол. прекрати уже.
schors
думаешь все хостеры дураки и не умеют думать и никогда не прграммируют?
Alinaki
schors, после этого треда — да, я буду так думать. до него — не представлял даже, что такое бывает.
schors
это он в модели OSI или TCP прикладным называется. а если мы рассматриваем модель веб-приложений, то он как раз транспортный
Alinaki
schors, даже TCP-пакет имеет параметры, флаги и уровень срочности.
schors
да чушь. я наверное в пятый раз говорю - я не понял зачем я сделал 4 обёртки на curl программируюя просто смену IP в API одной известной фирмы. два экрана кода блять только потому что кому-то всралось побравировать словами "идемпотентен"
schors
прекрасно. напомни, где в TCP указывается Conent-type для HTTP? так было бы удобно
Alinaki
schors, чтение логов упрощается в разы. а твоя лень — она твоя. лень.
Alinaki
schors, нахуй? для этого есть http ^_^
schors
чтение логов? какая тебе разница какую часть парсить - метод или URI? хоть авто, хоть глазами
schors
вот и я спрашиваю - нахуй HTTP знать добавил я или удалил пост на форуме, один хрен это делает не HTTP
Alinaki
schors, это один из примеров. второй - чтение своего же кода становится проще.
schors
да чем оно проще, если из двухмерной ситемы URI|BODY я вдруг получаю двумерную URI|METHOD|BODY?
schors
трехмерную конечно
Alinaki
schors, как минимум, всем.
schors
лишней сущностью, забитой в нижестоящий протокол
arts
schors, POST предназаначен для операций, имеющих последствия (вот тут man идемпотентность).
Не все для серфинга пользуются curl'ом, как ты:-) Есть такая штука, браузер называется. И в этом самом браузере для разных методов определено разное поведение с учётом задач, на эти методы возложенных, и последствий выполнения этих задач.
А в случае с API — семантика и только семантика. Если тебе удобнее использовать только GET — используй на здоровье. Здесь принципиальной разницы нет.
arts
Только тогда тебе придётся прибивать дополнительные костыли для защиты от CSRF.
schors
ты смеешься надо мной? как раз браузер кроме GET/POST ничего и не умеет
schors
что такое CSRF?
Tenno-Seremel
schors
уболтали черти. может что-то в этом и есть. где посмотреть документы на тему QUERY_STRING и там передачи параметров в POST и что с этим в DELETE/PUT? чего-то нарыть не могу
arts
schors, а на остальные методы можешь забить.
arts
schors, а остальные для всяких API нужны в первую очередь.
schors
чушь. только потому что их браузер не умеет :)
arts
schors, DELETE обычно не передают параметров — это запрос на удаление ресурса, указанного в URI. А у PUT формат такой же, как и у POST.
arts
schors, js умеет.
schors
мы сейчас вернемся к разубеждению меня опять. а токен доступа по ментальной связи прилетит? :)
arts
schors, в заголовках же.
schors
ну js это js. это понятно
schors
хм... мысль интересная. и ведь есть такие
arts
schors, так обычно и делают.