逻辑和物理的网址(Logical and Physical URLs)

2019-10-18 06:22发布

这个问题是这样的扩展,我以前在这里的问题: “这是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的用户。

难道这种情况下休息,如果不缺什么?

Answer 1:

我会尽量解释REST我了解。

问题的REST Web服务是基于两个因素:

  1. URLS - 网址应根据资源。 像:/应用/学生/应用/生/ {ID}
  2. 方法 - 该方法定义的操作中的URL来完成。 喜欢

    • GET -要获得资源
    • PUT -插入一条记录
    • POST -更新记录
    • DELETE -删除记录。

有办法使用PHP一看便知,实现宁静的网址在这里



文章来源: Logical and Physical URLs