Vladimir
http
Nikolay
Это нарушает не протокол, а соглашение.
Таймураз
это запрещает спецификация
При этом браузеры только в 2 метода умеют
aodzaki.toko
протоколу - похуй
Vladimir
Это нарушает не протокол, а соглашение.
это нарушает протокол, непосредственно
Nikolay
Технически можешь изъебываться как угодно.
Vladimir
Читайте спеку прежде чем делать такие заявления
aodzaki.toko
мы почитаем
Nikolay
Опять, кстати, не тот чат :D
aodzaki.toko
не... это аналитика
Nikolay
Хватит тут вбрасывать на технические темы :)
aodzaki.toko
мы аналируем протокол хттп
Nikolay
Ааа, ну ок
Таймураз
Мы начали по делу, но ушли в специфику
aodzaki.toko
как всегда (
Nikita
о_О. ща меня бомбанет
шутки шутками, а мы когда искали себе мидл пхп, из 5ти кандидвтов 4-ро знали только про пост и гет
Vladimir
https://tools.ietf.org/html/rfc7231#section-4.3
aodzaki.toko
где там написано, что при гет у меня сервак не будет писать в базу?
Таймураз
https://tools.ietf.org/html/rfc7231#section-4.3
Флаг вам в руки, следуйте спеке беспрекословно)
aodzaki.toko
если я передам параметры
Nikolay
https://tools.ietf.org/html/rfc7231#section-4.3
Наверное, очень бегло читал, но чет не увидел там прямого запрета на изменение состояния системы гет-запросом.
aodzaki.toko
он мне скажет "бля, Токо, это же гет? какая нахер база?"
Vladimir
Там нет прямого запрета - вы можете писать логи, писать аналитику и т д
aodzaki.toko
"ГЕТ, Токо! ГЕТ!!!"
Таймураз
Мы не говорим о том, что гетом будем изменять состояние Мы говорим о том, что это не спека, а соглашение
Vladimir
Но назначение метода - отправка представления
Nikolay
Там нет прямого запрета - вы можете писать логи, писать аналитику и т д
И писать все что угодно, в том числе информацию из квери-параметров.
Vladimir
Более того, он может быть вообще не исполнен а ответ взят из кэша
Таймураз
Но назначение метода - отправка представления
Именно И так как нет метода delete в браузере, мы его напишем сами
aodzaki.toko
в общем, софистика и не более
Vladimir
Более того, менять данные на гет запросе это просто небезопасно
Nikolay
Кстати, вот вам вопрос на засыпку.
Nikolay
Есть девайс (ip-камера). Управление камерой (зум, поворот и т.д.) осуществляется с помощью гет-запросов.
Nikolay
Это изменение состояния или нет?
Vladimir
Естественно
Nikolay
Информации новой в системе не появляется.
Vladimir
Появляется - положение камеры это и есть информация
Nikolay
Ну ок, интересно было мнение просто. Короче, увы, но оч. много ptz-девайсов так и работают :)
Таймураз
Все что хотя бы немного с IoT связано- грешно
Vladimir
Ну ок, интересно было мнение просто. Короче, увы, но оч. много ptz-девайсов так и работают :)
Ну вот видимо этот софт писали люди, которые не имеют представления об http
Nikolay
может все-таки post по onvif, не?
Не все камеры умеют онвиф.
Nikolay
Хорошо, а вот синтетический пример: есть лампочка, которая мигает один раз по гет-запросу :))
Nikolay
Состояние системы не меняется :)
Vladimir
Если сосотояние не меняется, и в ответ не приходят данные, то зачем тогда вообще делать запрос?
Pavel
Не все камеры умеют онвиф.
это было скорее к тому что ошибки в таких вещах чаще на руках у разрабов, которые делали предоставляющийся интерфейс)
Vladimir
И это из области вопроса про дерево и лес
Vladimir
Если на лампочку никто не смотрит, то нет смысла ей моргать
Vladimir
Если кто то смотрит - то состояние изменилось
Nikolay
Не начинай :))
Nikolay
Я вот тут недавно узнал, что с гетом можно тело запроса передать. Не взяли б меня в мидлы :D
Vladimir
Это серая область, с точки зрения спеки
Vladimir
В принципе реализации http имеют право игнорировать body в гете
Dmitry
В соответствии с http протоколом GET тока получает и не изменяет
Таймураз
Я вот тут недавно узнал, что с гетом можно тело запроса передать. Не взяли б меня в мидлы :D
Тело можно с чем угодно отправить, сервер его может заигнорить спокойно
Dmitry
POST к слову generic
Dmitry
Деталей нет
Dmitry
Но все уже привыкли юзать создание на пост
Dmitry
Не все прокси поддерживают put / patch
Dmitry
Поэтому некоторые мутят api тока на get /put
Таймураз
А также update delete head и еще не меньше 5 ненужных методов
Dmitry
Но это очень специфические вещи
Dmitry
Я люблю классические 4 get/post/put/delete
Dmitry
Для rest
Таймураз
Гет и пост хватит всем
Dmitry
Patch можно для partial update
Dmitry
Но я люблю классику все 4
Dmitry
Но если мы говорим про Web API можно и в два, но rest я люблю в 4 лично в соответствии с best practices
Таймураз
Get/post пардон
Ну это уже из задачи исходя
Таймураз
Я вообще хочу мировоззрение перенастроить на graphql