URL与路由

什么是路由 (Route)

这里的 路由(Route) 不是 路由器 的意思,而是针对 Web开发 特定的名词,是指 URL函数映射的关系集合。
这里的 函数 是特指能产生最终页面的 HTML 源代码 (Response) 的函数。
基本的流程:

  1. 用户通过浏览器发出一个访问的请求 Request
  2. Request 进入到当前 Web 服务器的后端程序中
  3. 分析 Request 对应的 PATH,也就是 URL
  4. 根据以上信息,匹配到服务器端的对应的函数
  5. 调用该函数,获得对应的 HTML 内容,作为 Response 返回给客户端(浏览器)

理解 FirstWeb 中的路由匹配

具体的实例,请参考 FirstWeb 中对应的网站目录内的文件。

静态页面 (.html)

静态页面,这里基本上是指 .html 文件,即使是使用 Jade 语法写的,最后也是编译为 .html 文件。
静态页面的 URL 对应是很直接的,比如 demo.html 对应的 URL 是 /demo.html
比较特殊的是 index.htmlsub/index.html 对应的 URL 是 /sub/,注意尾部是以 / 结尾的,而根目录下的 index.html 则对应了网站的首页,其 URL 也就是 /

动态页面 (.jade)

为了和静态页面产生区分,FirstWeb 内的动态页面特指是 template 目录下的。

它们与 URL 的对应逻辑,也是很简单的:

  • template/index.jade 对应了 /
  • template/test.jade 对应了 /test
  • tempalte/test1+test2.jade 同时对应 /test1/test2