在开始编写网站之前,确实应该先了解一些基础知识,比如浏览器、服务器、http、html、css等。不过,我们可以先直接动手写一个网站,这样更直观,之后再回顾这些基础知识会更容易理解。
网站可以用多种高级编程语言来编写,比如c语言、c++、C#、Java、php,当然python也可以。正如之前提到的,编程语言就像食物种类一样多样,我们今天就用Python来尝试编写一个网站,看看它有多简单。
是不是有点激动要开始写代码了?我也是。首先,我们需要准备一些工具,这里透露一个小秘密:世界上最好的编程工具是Google,如果实在不行,百度也可以。不过,我们暂时不需要这么高级的工具,先从最基础的开始。首先,你需要一台电脑。很多程序员,尤其是年轻的码农,喜欢用苹果电脑,因为它不仅酷,而且贵。开玩笑的,苹果电脑确实有一些实际优势,主要是因为它的操作系统Mac OS是基于unix架构的。另一种基于Unix架构的操作系统是linux,很多软件在这两种操作系统上都有类似的版本,它们的命令行操作方式也相似。Linux是开源的,程序员喜欢开源的东西,因为大家可以共享代码,相当于能力翻倍加持,May the Force be with you!
这里提到了几个可能不太熟悉的术语,比如操作系统、Macos、Unix、Linux、命令行、开源等,这些你都可以通过Google来查询,每个术语都足以写一本书,但不用担心,这些不会对我们编写代码造成太大障碍,等用到的时候再查也可以。至于最后那句英文,你需要去看一部叫做《星球大战》的电影才能理解。
有了苹果电脑,你应该已经有了Python环境,不信?给你看一下:
在苹果电脑上打开一个名为终端的App,红框里是我输入的命令,蓝框里是终端程序的回应。这个App似乎在用它蹩脚的英文嘲笑我:你的电脑太旧了,所以预装了Python2.7,新款电脑已经不使用这个版本了,等你有钱换电脑的时候,记得使用Python3。哼!我就不换,看你能把我怎么样,Python3也没什么了不起的:
你有没有看到上面的exit()?这就是一句Python代码,不知不觉中我们已经开始写代码了,这句代码是对前面无情嘲笑的反击:退出Python2.7。原来写代码这么简单,一鼓作气,我们正式开始吧。为了方便编辑文本,再安装一个名为VS Code的App,具体用法请自行了解。找一个文件夹,创建两个文件:index.html和webServer.py,里面的代码如下:
HTML代码
Python代码
第一个文件决定网页的显示内容,我们这里只显示Hello World!几个字;第二个文件是一段Python代码,其中带#的绿色文字是注释,是给人看的,方便理解,没有其他用处。从注释可以看出这个网站的工作流程是:服务器从一个叫浏览器的地方接收到一串文字请求,将请求打印出来并根据其中的内容选择将某个HTML文件内容返回给浏览器。我们来看下效果,这次用Python3来启动网站,在chrome浏览器中访问http://localhost:8000查看效果:
你可能发现代码不到100行啊?是的,我撒谎了,其实根本不需要100行代码,甚至1行都不需要,用下面这种方式启动效果是一样的(完全不需要webServer.py这个文件):