2015-12-22 4 views
0

Я использую node.js restify.В чем разница между чтением переменных запроса и переменными тела?

Существует два способа считывания параметров из HTTP GET.

  • Чтение переменных запроса.

enter image description here

  • чтение переменных тела.

enter image description here

В чем разница между 2? В какой ситуации следует использовать какую?

ответ

4

Основываясь на стандартах, которые мы использовали, я бы сказал, что наилучшей практикой было бы то, что вы должны использовать параметры при выполнении, но использовать тело для публикации, поместить и удалить. Если вы делаете post/put и т. Д., Вам может потребоваться отправить более сложные данные в конечную точку.

Также найдено следующее: Вы можете разместить больше (разнообразные) данные в теле, чем в URL-адресе. Вы можете передать любую строку (специальные символы) в теле, в то время как кодирование их в URL-адресе сделает вас уязвимыми для статуса 414 (Request-URI Too Long). И гораздо проще использовать тело при передаче массивов и сложных объектов :)

1

Разница в пользовательском опыте заключается в том, что с помощью get страница может быть отмечена закладками с параметрами. Это то, что невозможно с сообщением. Это может быть желательно или нет, в зависимости от сценария, но определенно нужно подумать и принять решение о получении/публикации.

+0

Хорошая точка! Что-то, о чем мало кто думал, пока им это не понадобится. – user781486