像/ api?some = param或/ api /?some = param之类的API有什么区别

时间:2017-09-08 15:56:34

标签: http url

我刚看到这个网址:

https://browser.pipe.aria.microsoft.com/Collector/3.0/?qsp=true&content-type=application...

但我之前也看过这样的网址:

http://some.website.com/api/verb?param=1&param=2...

那些有什么区别?化妆品?

2 个答案:

答案 0 :(得分:0)

取决于所使用的技术(WEB api,MVC api,...),以及开发者如何编码,它肯定不是背后的代码

答案 1 :(得分:0)

“这些之间的区别是什么?只是化妆品?”

从语义上讲,它们表示2种不同的资源,而且它不是装饰性的。

/api?some=param表示资源/api,而/api/?some=param表示资源组/api/。收到对资源组/api/的请求后,Web服务器可能会决定返回:

  • 资源组的默认资源,例如/api/index.html/api/index.jsp
  • 拒绝请求并返回错误。 requestb.in使用此政策。如果创建了URL端点(例如https://requestb.in/1hl8k4u1),GET https://requestb.in/1hl8k4u1将返回ok,但GET https://requestb.in/1hl8k4u1/将返回404 Not Found
  • 将资源组作为单个资源实体,即将/api/作为/apiExpress.js使用此政策。在Express.js中,router.get('/api/', ...)router.get('/api', ...)是一回事。