这篇博文是记录学习udacity的课程http & web servers的第二篇。
练习:运行你的第一个网络服务器
服务器只需要做一件事:处理收到的请求。
Python的http.server模块可以你的电脑上运行一个内置的网络服务器。
开一个终端,cd到一个含有一些文件的目录,可以是文本文件,html文件或者图片,然后在终端运行:
python3 -m http.server 8000。
浏览器键入:http://localhost:8000/ 。
这个示例服务器是一个真正的网络服务器。如果该本地网络还有其他的电脑,你可以使用其他电脑获取该服务器上的文件。
当你在浏览器键入localhost:8000,你的浏览器会向你正在运行的python程序发送http请求。
这个程序会返回一段数据,浏览器会展示给你。
Note:如果刚才的目录下,你有一个文件叫做index.html,你会看到index.html的内容,而不是目录下的文件列表。将index.html移动到其他地方,你看到的又是目录下的文件列表。
什么是服务器?
A server is just a program that accepts connections from other programs on the network.
当你开始一个服务器程序,它等着客户端连接到它-就像刚才的示例服务器等着浏览器向它请求一个页面一样。
当连接来了,服务器运行一段代码 - 比如运行一个函数 - 来处理每一个到来的连接。
就像是打电话:通过这个渠道,服务器和客户端可以互聊。
网络客户端通过连接发送请求,服务器发送响应回来。