Size: a a a

Обсуждения техдирские

2021 January 06

AS

Andrey Shetukhin in Обсуждения техдирские
Igor Sidorov
А, ещё вишенка на тортике. МИС возвращала 200 Ок на любой запрос. Ошибка обозначалась отдельным полем в ответе 😁
Если речь идёт о REST/JSON/XML RPC, то 200 ОК на любой запрос - единственно правильный вариант. Все 5ХХ и 4ХХ - это ошибки транспортного уровня, а не уровня протокола передачи данных. Смешивать транспорт (HTTP) и протокол приложения (REST/JSON/XML RPC) — антипаттерн, так делать нельзя.
источник

W

Wingman in Обсуждения техдирские
dn.khelilov
Для "серьёзных" проектов придумали даже специальный федеральный закон про КИИ, можете почитать какие там критерии.
Про кии тоже забавно... Качество работы ркн/рчц... Мда)
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Aleksey Mamonov
А какое отношение RFC 2616 имеет к тому как возвращается ошибка бизнес-логики (не протокола) ?
Никакого.)) Просто некоторые очень любят городить протекающие абстракции, поэтому ты им POST с данными, а они, вместо адекватного ответа - 404. Типа, нет объекта.
источник

IS

Igor Sidorov in Обсуждения техдирские
Andrey Shetukhin
Если речь идёт о REST/JSON/XML RPC, то 200 ОК на любой запрос - единственно правильный вариант. Все 5ХХ и 4ХХ - это ошибки транспортного уровня, а не уровня протокола передачи данных. Смешивать транспорт (HTTP) и протокол приложения (REST/JSON/XML RPC) — антипаттерн, так делать нельзя.
Те ребята не умели в REST/JSON. Только form-data с p1=&p2=&...&p52=
источник

ЮВ

Юра В 🦄 in Обсуждения техдирские
Andrey Shetukhin
Если речь идёт о REST/JSON/XML RPC, то 200 ОК на любой запрос - единственно правильный вариант. Все 5ХХ и 4ХХ - это ошибки транспортного уровня, а не уровня протокола передачи данных. Смешивать транспорт (HTTP) и протокол приложения (REST/JSON/XML RPC) — антипаттерн, так делать нельзя.
ну, там исходно текущая абстракция. например, возвращать 401 на недостаток прав хорошо и нормально, особенно, если клиент браузерный
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Igor Sidorov
Те ребята не умели в REST/JSON. Только form-data с p1=&p2=&...&p52=
Ну и что? Обёртка не имеет значения.
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Юра В 🦄
ну, там исходно текущая абстракция. например, возвращать 401 на недостаток прав хорошо и нормально, особенно, если клиент браузерный
Нет, не нормально, потому что 401 - это код транспорта, а не приложения.
источник

ЮВ

Юра В 🦄 in Обсуждения техдирские
Andrey Shetukhin
Нет, не нормально, потому что 401 - это код транспорта, а не приложения.
я не соглашусь, не авторизован это как раз прикладной уровень. потому и написал, что оно сразу течет.
если говорит про machine2machine, то надо сразу брать jsonrpc, там 200 значит "запрос принят", безальтернативно, что и надо
источник

IS

Igor Sidorov in Обсуждения техдирские
Andrey Shetukhin
Ну и что? Обёртка не имеет значения.
Ага, монолитное приложение на PHP в 2019 году :))). Мобильные приложения? Responsive фронт-энд? Балансировка нагрузки? Перебьются!
источник

IS

Igor Sidorov in Обсуждения техдирские
Andrey Shetukhin
Нет, не нормально, потому что 401 - это код транспорта, а не приложения.
А 403 и 404 тоже к транспорту относятся, или всё-таки к приложению?
источник

ПС

Павел Симонов... in Обсуждения техдирские
Andrey P
Я не понял, они сервак на node.js написали? Синтаксические ошибки отлавливаются на этапе компиляции в приличных языках типа Java, C++, C#.

Или ошибка была в тексте одной из форм, где вместо "введите пароль" отобразилось "ведите пароль"? Ну так это minor bug.
По условию задачи - прошла синтаксическая ошибка в прод. Возможно, это реально был JS)
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Юра В 🦄
я не соглашусь, не авторизован это как раз прикладной уровень. потому и написал, что оно сразу течет.
если говорит про machine2machine, то надо сразу брать jsonrpc, там 200 значит "запрос принят", безальтернативно, что и надо
Нет, это не прикладной уровень. Это - протёкшая абстракция на уровень ниже. Как минимум, потому, что требует иного обработчика на стороне клиента. Если вдруг придётся поменять транспорт с http на любой другой протокол, то подобная ошибка проектирования приведёт к необходимости портировать всю подсистему авторизации.
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Igor Sidorov
А 403 и 404 тоже к транспорту относятся, или всё-таки к приложению?
Любые коды ответа HTTP относятся к транспорту
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Igor Sidorov
Ага, монолитное приложение на PHP в 2019 году :))). Мобильные приложения? Responsive фронт-энд? Балансировка нагрузки? Перебьются!
Монолит ничем не плох и не хорош. Вот есть Авито, которое переписали с монолита на микросервисы, и которое регулярно срёт 500-ми и 404  на проде.
источник

ПС

Павел Симонов... in Обсуждения техдирские
Solo (xxHxx)
Первый варик тока недальновидный руководитель выберет имхо
Наконец-то проснулись люди, которые голосовали за второй пункт, а то я уже начал чувствовать себя белой вороной)
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Хороши только те технологии, которые хорошо решают данную бизнес-задачу. Если ваш монолит - rock stable и работает - он хороший. Если ваши микросервисы делают 150+ запросов внутри бэкэнда и при этом вы не знаете, что там дёргается (как в Авито) - это плохой проект.
источник

R

Ruslan in Обсуждения техдирские
Andrey Shetukhin
Нет, не нормально, потому что 401 - это код транспорта, а не приложения.
Что плохого в том, что бы код транспорта использовать на уровне приложения?
Запрос может помереть еще до приложения (например, 502), кто тогда сформирует 200 ОК с нужным телом, чтобы клиент мог это разобрать?
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Ещё раз: плохого там то, что это - протёкшая абстракция, которая завязывает протокол верхнего уровня на протокол нижнего уровня.
источник

IS

Igor Sidorov in Обсуждения техдирские
На Ютубе есть выступление одмина banki.ru. Про то, как в 2014 году, когда доллар стал резко расти, у них трафик вырос в разы. И как они со своим монолитным приложением решали проблему через ungraceful degradation - просто отключая куски сайта. Смотрелось это как 1001 лайфхак по добыче огня с помощью кремня и напильника.
источник

AS

Andrey Shetukhin in Обсуждения техдирские
Igor Sidorov
На Ютубе есть выступление одмина banki.ru. Про то, как в 2014 году, когда доллар стал резко расти, у них трафик вырос в разы. И как они со своим монолитным приложением решали проблему через ungraceful degradation - просто отключая куски сайта. Смотрелось это как 1001 лайфхак по добыче огня с помощью кремня и напильника.
Там полтора сервера и ФОТ такой, что 200 000 для CTO - неподъёмная зарплата.
источник