这个问题是这样的扩展,我以前在这里的问题: “这是Web服务问题的REST” ,以试图更好地理解REST Web服务的概念。 我看了几乎所有存在要了解休息,但我如果某个Web服务是休息与否,或者为什么它不感到无法理解。 我看到它的方式,一切都和没有休息取决于来看...
我在一个非常有趣的文章东西,可能在最后让我明白了什么是休息阅读。 我读了休息犯规采用物理网址,但逻辑的。
我记得有一次我正在开发iOS应用程序,我们必须注册/订阅用户等,并有人告诉我做出了一定的POST HTTP请求到我们的服务器,看上去像这样的URL: www.myServer/devices/device/register
。 在这个请求的主体,我把所有JSON格式服务器所需的信息。 到那个时候,我的服务器是一个黑盒子所以我没有更在乎这个链接是什么意思,或者它是如何产生的。 但我知道这是一个网络REST服务。
这个月我开始devepong一个移动式混合应用,在那里我开始在本地代码+前端的jQuery Mobile的,和PHP + MYSQL的后端开发。 我有更多或更少这里同样的情景,其中用户需要一个事件或不认购。 当他按下一个按钮,即可订阅特定的事件,我就与Ajax调用,并在体内的JSON文件的HTTP POST请求,到一个特定的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); }
});
正如你看到我使用一个物理地址,指向我的PHP脚本来采取行动。 即使用户是在HTML页面,是一个物理页! 就像myUrl.com/eventX的页面。
这是否意味着该Web服务我建立不是休息吗?
他们是怎样去年我指向逻辑URL和我只能指向物理PHP脚本? 我知道,他们的服务器是在Java中,也许这就是为什么网址不看实物?
而在一天结束的时候可以说我有,用户可以订阅100点不同的事件。 当然,我wouldnt做一个100个的静态HTML页面。 但我会做,将动态生成1个HTML页面。 但仍链接到该页面将物理像mySite.com/event.html
。 我知道做一个URL看起来合乎逻辑的唯一方法是当u有一个文件夹内的index.html文件,你指向文件夹,这样的URL看起来像myWebsite.com/myFolder
。
因此,这里的问题是,如何建立一个逻辑URL和这是什么原因使一个服务问题的REST?
编辑
我阅读了大量的另一件事是,剩下的就是使用描述的资源,而不是操作的网址! 再次,虽然我看不懂。 对于我的web服务的一切,我使用POST请求。 我想例如用户订阅事件,使我在URL POST请求my.server.com/subscribe.php
并在此请求我与一个JSON文件的主体id
的用户和的event name
。
当我想注册一个用户我做在URL POST请求my.server.com/register.php
和身体JSON与id
的用户。
难道这种情况下休息,如果不缺什么?