Задать вопрос
@AlexAK_466

Почему запрос PATCH не всегда идемпотентен?

Я не могу понять в каких случаях PATCH будет индемпотентен а в каких нет. Знакомые программисты рассказывают одно, Chat GPT выдаёт совсем другую картину. Если такой вопрос попадётся на собеседовании, как на него правильно отвечать?
  • Вопрос задан
  • 555 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Инженер по тестированию: от новичка до автоматизатора
    9 месяцев
    Далее
  • Яндекс Практикум
    Продвинутый Go-разработчик
    6 месяцев
    Далее
Решения вопроса 1
Например у тебя в patch запросе может быть какой-нибудь jsonpatch в котором будет операция "добавить элемент в список".

И вот у тебя при многократном вызове будет добавляться много элементов.

Метод PATCH не является идемпотентным по RFC 9110 => такое поведение не будет считаться ошибочной реализацией протокола.

Никто не может запретить сделать подобное поведение в каком-нибудь GET или PUT, но так как они описаны в спецификации как идемпотентные, то такая реализация будет ошибочной и может привести к ряду неожиданных проблем, ведь клиенты всё ещё по-умолчанию будут считать их идемпотентными.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
ну гуглиться же за раз https://developer.mozilla.org/ru/docs/Web/HTTP/Ref... скорее отсюда же и был взят для собеседования
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы