Логические и физические URL-адреса

Этот вопрос является продолжением моего предыдущего вопроса здесь: «Является ли этот веб-сервис Restfull» попыткой лучше понять концепцию веб-службы Rest. Я прочитал почти все, что нужно прочитать о Rest, но я не могу понять, является ли какой-то веб-сервис Rest или нет, или почему его нет. То, как я вижу это, все есть и не остается Отдых в зависимости от точки зрения …

Я прочитал в очень интересной статье что-то, что, наконец, может помочь мне понять, что такое «Отдых». Я читал, что Rest не использует физические URL-адреса, но логические.

Я помню, как только я разрабатывал приложение iOS, где нам приходилось регистрировать / подписывать пользователя и т. Д., И мне сказали сделать определенный HTTP-запрос Post на наш сервер URL-адрес, который выглядит так: www.myServer/devices/device/register , В теле этого запроса у меня была вся информация в формате json, которая нужна серверу. К тому времени сервер для меня был черным ящиком, поэтому я даже не волновался, что означала эта ссылка и как она была создана. Но я знал, что это служба веб-отдыха.

В этом месяце я начал разрабатывать мобильное гибридное приложение, в котором я начал разрабатывать собственный код + jquery mobile для внешнего интерфейса и php + mysql для задней части. У меня более или менее такой же сценарий здесь, где пользователь должен подписаться на мероприятие или нет. Когда он нажимает кнопку, чтобы подписаться на конкретное событие, я делаю запрос на отправку http с помощью ajax-вызова и json-файла в теле, на конкретный скрипт php и этот сценарий соответственно записывает / обновляет / удаляет в базе данных.

Вызов выглядит примерно так:

 $.ajax({ type: "POST", url: "http://192.168.4.113/Server_CityInfo/subscribe.php", data: data, contentType: "application/json; charset=utf-8", //dataType: "json", success: function(response) { $.mobile.changePage( "dialog.html", { role: "dialog" } ); }, error: function(xhr, status, message) { alert("Status: " + status + "\nMessage: " + message); } }); 

Как вы видите, я использую физический url, чтобы указать на мой скрипт PHP, чтобы принять это действие. Даже страница html, на которой находится пользователь, является физической страницей! Является такой страницей, как myUrl.com/eventX.

Означает ли это, что эта веб-служба, которую я создаю, не является частью Rest?

Как они в прошлом году указали мне на логические URL-адреса, и я могу указать только на физические php-скрипты? Я знаю, что их сервер был в java, возможно, поэтому URL-адреса не выглядят физически?

И в конце дня, скажем, у меня есть 100 различных событий, на которые пользователь может подписаться. Конечно, я бы не сделал 100 статических html-страниц. НО я бы сделал 1 html страницу, которая будет динамически генерироваться. Но все же ссылка на эту страницу будет такой же физической, как mySite.com/event.html . Единственный способ, которым я знаю, чтобы URL-адрес выглядел логичным, – это когда у вас есть файл index.html внутри папки, и вы указываете на эту папку, чтобы URL-адрес выглядел как myWebsite.com/myFolder .

Итак, вопрос здесь в том, как построить логический url и является ли это тем, что делает сервис Restfull?

РЕДАКТИРОВАТЬ


Еще одна вещь, которую я читаю, – это то, что Rest использует URL-адреса, описывающие ресурсы, а не операции !. Опять же, хотя я не понимаю. Для всех в моем веб-сервисе я использую Post Request. Я хочу, например, подписаться на событие, я делаю почтовый запрос на url my.server.com/subscribe.php и в теле этого запроса у меня есть json-файл с id пользователя и event name .

Когда я хочу зарегистрировать пользователя, я делаю почтовый запрос на url my.server.com/register.php и json в теле с id пользователя.

Является ли этот сценарий «Отдых», а если нет, то чего нет?

Solutions Collecting From Web of "Логические и физические URL-адреса"

Я попытаюсь объяснить REST, насколько я понимаю.

RESTfull webservices основаны на двух факторах:

  1. URLS – URL-адреса должны основываться на ресурсах. Например: / app / students, / app / students / {id}
  2. МЕТОДЫ – метод определяет операцию, выполняемую по URL-адресу. подобно

    • GET – Получить ресурс
    • PUT – Вставить запись
    • POST – обновление записи
    • DELETE – удаление записи.

Есть способы достижения спокойных URL-адресов с использованием PHP, см. Ответ здесь