[教程] ch0 一个简单的web框架

Web是何如工作的

在讨论框架之前,我们需要先了解一下web是如何工作的。在浏览器里输入”https://andysim.us”并回车后,你会看到我的个人博客主页。在这一个简单的 “回车——页面”的背后,就是一个Web工作循环(这里不考虑DNS等)

Request

在你敲下回车的一瞬间,你通过浏览器,向我的服务器(andysim.us)发送了一个请求。

Web App

在我的博客里,我部署了Apache作为服务器,其上运行着Wordpress。Wordpress会接受到你的请求,处理请求后返回响应。

Response

响应会由我的服务器发回到你的电脑,里面包含整个页面的信息。你的浏览器拿到Response信息后,就可以解析,渲染成整个页面了。

Web框架浅谈

通过上面的例子,我想你已经对Web工作有一些了解了。

那么什么是Web框架呢?

我们先来简化一下模型。

根据刚才的例子,整个web应用就是一个接受Request信息,并返回Response的程序。

如下图,蓝色为request,红色为response。

Web 应用模型

如果 Web 应用什么都不干,只返回一个200作为status code(意为正常),这就是一个简单的Web 应用模型。

(这里涉及到一些网络的概念,比如request一般是由Http协议传输,而http大多又基于TCP协议通信等,本文暂不涉及到过于底层的内容)

说了这么多,我们还没有说到什么是web框架:简单来说,如果有一个程序,它负责处理接收Request,返回Response,而你只需要添加处理resquest与生成response的逻辑,这就可以当作一个web框架。

Web框架解决两大问题

围绕web应用的所有问题中,两个问题尤其突出:

  1. 我们如何将动态的URL映射到对应的逻辑?(路由)
  2. 我们如何将静态HTML与动态消息结合?(模板)

而这些就是主流的Web框架需要解决的。

本Web框架简介

本次系列教程将会带领读者从0开始做一个web框架,基于主流的MVC设计模式。

Andy

Andy

a lazy and busy guy.

发表评论

电子邮件地址不会被公开。 必填项已用*标注