Что из следующего верно при создании интерфейсов, которые изменяют данные на сервере? - PullRequest
0 голосов
/ 15 июля 2009

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

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

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

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

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

Выбор 5 УДАЛИТЬ запросы должны быть использованы; они были разработаны для этого использования.

Ответы [ 3 ]

3 голосов
/ 15 июля 2009

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

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

Редактировать: вот SO обсуждение того, почему POST используются вместо GET для действий, которые изменяют данные.

0 голосов
/ 03 сентября 2009

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

0 голосов
/ 15 июля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...