Разработка под iOS: при выполнении запроса POST, действительно ли имеет значение, включить ли я параметры в URL? - PullRequest
0 голосов
/ 05 мая 2011

Я использую библиотеку ASIHTTPRequest в своем приложении для iOS для отправки запросов REST в веб-приложение. Я делаю все возможное, чтобы использовать правильные глаголы (GET, POST, PUT, DELETE) при выполнении различных запросов, но при выполнении запроса POST я не уверен, что понимаю, почему это важно, если я включаю параметры в POST запрос или в URL. Он работает в обоих направлениях, так почему я должен включать параметры в запрос POST, а не просто включать их в URL? Насколько я понимаю, единственная причина для включения параметров в запрос POST состоит в том, чтобы они не отображались в URL-адресе на случай, если кто-то смотрит через ваше плечо или что-то в этом роде. Но если я делаю POST-запрос из своего приложения для iOS, а браузер не задействован, то имеет ли значение, каким образом я это делаю?

Большое спасибо за вашу мудрость, я все еще учусь!

Ответы [ 2 ]

2 голосов
/ 05 мая 2011

При использовании запроса POST рекомендуется помещать параметры в данные вместо URL-адреса.В вашем случае, это работает, чтобы поместить его в URL, но это не всегда так.Некоторые сценарии ожидают, что параметры находятся в определенном месте, и не найдут их, если их там нет.Что касается того, для чего хорош POST, он позволяет вам отправлять больше данных.Длина URL-адреса ограничена 255 символами, поэтому вам нужно использовать другой метод, если вы хотите отправить больше данных, чем это.Данные в запросе POST также не нужно кодировать для совместимости со спецификацией URL.

0 голосов
/ 05 мая 2011

Насколько я понимаю, единственная причина включения параметров в запрос POST - не показывать их в URL-адресе на случай, если кто-то смотрит через ваше плечо или что-то в этом роде.

Вы неправильно поняли.

Есть и другие проблемы.Если ваш сайт вносит изменения в данные, основанные на запросе GET, возможно, что спам-боты, поисковые системы, средства предварительной выборки браузера и другие автоматизированные инструменты будут вызывать потенциально разрушительные изменения данных.

Если конечная точка не находится под вашим контролемвполне возможно, что он даже не примет параметры в качестве параметров GET.Большинство API требуют правильного использования глаголов GET и POST.

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