资讯专栏INFORMATION COLUMN

URL 的理解

LdhAndroid / 1198人阅读

摘要:的理解维基百科给出答案全名,又譯劃一資源定位器,俗稱網頁地址網址,係互聯網上標準嘅資源嘅地址。文章的获取文章列表文章详情以上理解为这个地址定位到这个地址定位到此处有一个用于决定响应的资源类型。以上仅是个人理解及想法,欢迎指点与批评。

URL 的理解

维基百科给出答案

URL(全名Uniform Resource Locator),又譯劃一資源定位器,俗稱網頁地址(網址),係互聯網上標準嘅資源嘅地址。要去互聯網上任何一個地方,都需要佢嘅URL。

首先咱们要理解这个叫资源定位的意思,咱们平时在配置部署 web 服务器的时候,应该都有见过 document root 这个配置项,以 nginx 为例,nginx 中,就是需要配置一个 root 选项,而每个 server 都对应一个 server_name,或是域名,或是ip,一个标示,那这个 server_name 其实可以简单地把它看成是 root 的别名,当访问到这个 server_name 的时候,就会自动在 root 目录下进行查询。如:

server {
    server_name test.com
    root /htdocs
    # some config
}

当访问到 http://test.com 的时候,就会去到 /htdocs 目录下寻找目标。

http://test.com/a.html => /htdocs/a.html
http://test.com/public/a.html => /htdocs/public/a.html

这个是最基本的方法,当然你可以在 server 中配置其他,这里不再阐述。

其实说白了,他只是一个 “资源定位” 的作用。

很明显地,其实这里寻找的是 html 文件,也可以寻找 json,xml 文件,如:

http://test.com/a.json => /htdocs/a.json
http://test.com/public/a.xml => /htdocs/public/a.xml

其实都是一样,只要理解了 “资源定位”,那么其实,URL 就是访问一个文件内容,至于这个 “文件” 内部怎么执行,就需要自己定义了。

Http Api 设计

那么既然理解了上述的 URL 的意义,那么设计 API 起来就很好做了,所谓的 RESTful API 设计,其实我的理解无非就是让你清楚 URL 的作用,然后对应地给不同的 “文件” 进行操作。

1. 文章的获取:

Host: http://test.com

1.1 文章列表
http://test.com/articles/{page}

http://test.com/articles/1
http://test.com/articles/2
1.2 文章详情
http://test.com/articles/{page}/{id}.{format}

http://test.com/articles/1/3.html
http://test.com/articles/2/12.json

以上理解为:

http://test.com/articles/1/3.html 这个地址定位到: /htdocs/articles/1/3.html
http://test.com/articles/2/12.json 这个地址定位到: /htdocs/articles/2/12.json

此处有一个 format 用于决定响应的资源类型。需要考虑下吧,都定义为 json 就好了。

分页设计(优化版)

设计一个文章列表,可分页查询,可以查询文章详情。

http://test.com/articles/{id}?page={page}&limit={limit}

如果存在文章 id 详情信息,则返回指定的文章详情。若非查询制定的文章内容,则显示分页的文章信息。

分页请求:

http://test.com/articles/?page={page}&limit={limit}
// or 
http://test.com/articles?page={page}&limit={limit}

第一种更为合理,因为该资源是一个 "目录",请理解 "根" 的概念。

内容请求:

http://test.com/articles/1

可以可以,这样就完成了请求的样例。

很好理解吧,这样设计出来的 API 其实可以收是一目了然。在资源后缀上,是可以自己定义的,如 FastD 中就有此项功能,可以根据不同后缀返回不同的内容格式。

以上仅是个人理解及想法,欢迎指点与批评。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30290.html

相关文章

  • 对于计算机领域URI、URL、URN理解认识

    摘要:由包括确定语法和相关协议的方案所定义。统一资源名称唯一标识一个实体的标识符,但是不能给出实体的位置。使用可以在不知道其网络位置及访问方式的情况下讨论资源。 首先,介绍他们的相关定义: 1、URI(Uniform Resource Identifier)统一资源标识符,是用来标识某一互联网资源名称的字符串。 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。UR...

    OldPanda 评论0 收藏0
  • 理解 RESTful

    摘要:表形容词,意为的具有的。指的是一组架构约束条件和原则。协议要优于协议。的操作方法在中有各自的语义,理解它们的语义至为重要。返回结果对于不同操作方法和操作对象集合或个体,服务器返回的结果应该符合以下规范。附录该文主要参考理解架构设计指南 前言 近十年,前端高速发展,整个互联网应用经历了从轻客户端到重客户端的变化,随着前端规模越来越大,交互越来越复杂,前后端分离的设计开始流行。 移动互联网...

    MkkHou 评论0 收藏0
  • 理解 RESTful

    摘要:表形容词,意为的具有的。指的是一组架构约束条件和原则。协议要优于协议。的操作方法在中有各自的语义,理解它们的语义至为重要。返回结果对于不同操作方法和操作对象集合或个体,服务器返回的结果应该符合以下规范。附录该文主要参考理解架构设计指南 前言 近十年,前端高速发展,整个互联网应用经历了从轻客户端到重客户端的变化,随着前端规模越来越大,交互越来越复杂,前后端分离的设计开始流行。 移动互联网...

    Drummor 评论0 收藏0
  • 彻底理解从输入URL与页面展现

    摘要:五浏览器绘制网页绘制过程主要是结构与样式的结合,以及行为动态效果的展现。之后会写系列文章,欢迎围观主要参考文章基础进阶详解与编码前端面试题从到页面展现,这之中发生了什么图解 流程概述: 地址栏输入URL ——> 域名解析 ——> 服务器处理请求 ——> 浏览器处理响应 ——> 浏览器绘制网页 一.地址栏输入URL 认识URL showImg(https://segmentfault....

    abson 评论0 收藏0
  • 理解路由

    摘要:服务器端路由对于服务器来说,当接收到客户端发来的请求,会根据请求的,来找到相应的映射函数,然后执行该函数,并将函数的返回值发送给客户端。客户端路由对于客户端通常为浏览器来说,路由的映射函数通常是进行一些的显示和隐藏操作。 原文地址:http://syaning.com/2017/01/10... ♪ 理解Web路由 1.什么是路由 在Web开发过程中,经常会遇到『路由』的概念。那么,到...

    BLUE 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<