Какое из следующих утверждений верно при создании интерфейсов, изменяющих данные на сервере?
-
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 предназначен для...удаление ресурсов.Это не то, чего вы хотите.