Какое из следующих утверждений верно при создании интерфейсов, изменяющих данные на сервере?

StackOverflow https://stackoverflow.com/questions/1127702

  •  13-09-2019
  •  | 
  •  

Вопрос

Я только что закончил тест BrainBench и хоть убей не могу найти ответ на этот вопрос... Я не думаю, что существует правильный ответ.

Необходимо использовать запросы PUT варианта 1;они не повторяемы.

Необходимо использовать запросы HEAD варианта 2;они уменьшают трафик данных.

Необходимо использовать запросы GET варианта 3;их легче отправить другим пользователям.

Необходимо использовать запросы POST варианта 4, поскольку запросы GET могут быть случайно отправлены поисковой системой.

Вариант 5. Необходимо использовать запросы DELETE;они были разработаны для этого использования.

Это было полезно?

Решение

Я не уверен в этом, но я почти уверен, что это вариант 4.

Допустим, у вас есть ссылка, ведущая на /Delete.aspx?id=4, и Google решает просканировать эту ссылку.Если проверки авторизации отсутствуют, Google может стереть ваши записи.

Редактировать:Вот ТАК дискуссия о том, почему POST используются вместо GET. для действий, которые изменяют данные.

Другие советы

PUT, POST и DELETE могут использоваться.DELETE удаляет данные, подпадающие под «изменение».PUT заменяет.POST может делать что угодно.

Вопрос, ИМХО, сформулирован не совсем правильно, но поскольку ответы 1 и 5 содержат неверную информацию, 4, вероятно, должен быть правильным ответом.

Если PUT заменяет содержимое, то оно идемпотентно и, следовательно, повторяемо, и, следовательно, 1 неверно, если без причины вторая половина предложения.В этом случае HEAD был бы бессмысленным, поэтому его нет.GET плох по вышеупомянутым причинам (сканеры уничтожают контент и т. д.). GET означает GET.Это не подразумевало, чтобы получить (о, и иметь некоторые побочные аффекты) пост - правильный ответ.DELETE предназначен для...удаление ресурсов.Это не то, чего вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top