2017-02-05 1 views
0

Я читал о REST в течение недели, и все, что я могу сказать об этом, можно узнать за 1 минуту, чтобы я мог использовать HTTP-запросы, такие как GET/POST/PUT/DELETE для управления содержимым веб-сайтаЧто означает безгражданство в службе RESTfull

Но что такое безгражданство и другие непонятные термины, когда люди описывают ОТДЫХ?

Почему я не могу просто добавить содержимое в базу данных Повсеместно в $_GET[''] способе, как это, http://localhost/register.php?id=1&username=bob, здесь я использовал так называемый $_GET[] метода - который я считаю другим, что REST (GET/PUT) метода - и вставлял Информация в базе данных вместо использования что-то, что делает то же самое только в более сложным образом, чтобы понять

+0

[Wikipedia] (https://en.wikipedia.org/wiki/Representational_state_transfer#Stateless) на самом деле довольно хорошо его суммирует: «Связь между клиентом и сервером ограничена отсутствием клиентского контекста на сервере между запросами. Каждый запрос от любого клиента содержит всю информацию, необходимую для обслуживания запроса, а состояние сеанса хранится в клиенте. 'Пример. Вы не просто аутентифицируете себя один раз, а затем выполняете все запросы API, которые вы хотите, вы аутентифицируете себя в каждом запросе.например, с помощью некоторого токена в запросе или самого ресурса-uri. – ccKep

ответ

0

что безгражданства

безгражданство является специфическим архитектурным сдерживающим с масштабирование, видимость и надежность. Филдинг описывает это в third chapter of his dissertation.

Каждый запрос от клиента к серверу должен содержать всю информацию, необходимую для понимания запроса, и не может использовать любой сохраненный контекст на сервере. Состояние сеанса полностью поддерживается клиентом.

Эти ограничения улучшают свойства видимости, надежности и масштабируемости. Видимость улучшается, потому что система мониторинга не должна выходить за рамки единого запроса, чтобы определить полный характер запроса. Надежность улучшается, поскольку она облегчает задачу восстановления после частичных отказов [133]. Масштабируемость улучшилась, поскольку не сохранять состояние между запросами позволяет серверному компоненту быстро освобождать ресурсы и еще больше упрощает реализацию.

Недостаток сервера-безстоящего клиента заключается в том, что он может снизить производительность сети за счет увеличения повторяющихся данных (накладных расходов на взаимодействие), отправленных в серии запросов, поскольку эти данные не могут быть оставлены на сервере в общем контексте ,

Короче говоря, тот факт, что HTTP поддерживает это архитектурное ограничение, является одной из причин того, что он смог быть настолько успешным.

Почему я не могу просто добавить содержимое в базу данных

Вы можете, конечно, изменить сервера состояние; то есть состояние «ресурсов» в ответ на запрос HTTP. В этом случае вы несколько ограничены HTTP (например, GET должен иметь read-only semantics).

Но сервер не должен делать какие-либо предположения о текущем состоянии клиента, которые не могут быть доказаны в текущем обрабатываемом сообщении.

+0

Но если я использую метод POST, тогда я буду делать то же самое, что если бы я использовал метод «Вставить в db», не так ли? –

+0

Я не знаю, как интерпретировать этот вопрос. – VoiceOfUnreason

+0

INSERT INTO DB - это способ CRUD для вставки в базу данных, если я делаю это, получая информацию через URL ('$ _GET ['']'). У меня будет такое же «событие», что и If Я должен был использовать метод POST с помощью REST Поскольку с REST я могу создавать контент с использованием метода POST, Не имеет ли это никакого смысла? –

Смежные вопросы