加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

实战讲解:如何用Python搭建一个服务器

发布时间:2018-12-21 22:29:19 所属栏目:业界 来源:马哥Linux运维
导读:副标题#e# 有人说表示只学Python没有用,必须学会一个框架(比如Django和web.py)才能找到工作。 其实掌握一个类似于框架的高级工具是有用的,但是基础的东西可以让你永远不被淘汰,不要被工具限制了自己的发展。 今天不使用框架,也不使用Python标准库中的高

在浏览器的地址栏输入:

实战讲解:如何用Python搭建一个服务器

(当然,你也可以用令一台电脑,并输入服务器的IP地址)

OK,我已经有了一个用Python实现的,并从socket写起的服务器了。

从终端,我们可以看到,浏览器实际上发出了两个请求。

第一个请求为 (关键信息在起始行,这一个请求的主体为空):

实战讲解:如何用Python搭建一个服务器

我们的Python程序根据这个请求,发送给服务器text_content的内容。

浏览器接收到text_content之后,发现正文的html文本中有,知道需要获得text.jpg文件来补充为图片,立即发出了第二个请求:

实战讲解:如何用Python搭建一个服务器

我们的Python程序分析过起始行之后,发现/test.jpg符合if条件,所以将pic_content发送给客户。

最后,浏览器根据html语言的语法,将html文本和图画以适当的方式显示出来。(html可参考http://www.w3schools.com/html/default.asp)

探索的方向

1) 在我们上面的服务器程序中,我们用while循环来让服务器一直工作下去。

实际上,我们还可以根据多线程的知识,将while循环中的内容改为多进程或者多线程工作。

2) 我们的服务器程序还不完善,我们还可以让我们的Python程序调用Python的其他功能,以实现更复杂的功能。比如说制作一个时间服务器,让服务器向客户返回日期和时间。你还可以使用Python自带的数据库,来实现一个完整的LAMP服务器。

3) socket包是比较底层的包。Python标准库中还有高层的包,比如SocketServer,SimpleHTTPServer,CGIHTTPServer,cgi。这些都包都是在帮助我们更容易的使用socket。如果你已经了解了socket,那么这些包就很容易明白了。利用这些高层的包,你可以写一个相当成熟的服务器。

4) 在经历了所有的辛苦和麻烦之后,你可能发现,框架是那么的方便,所以决定去使用框架。或者,你已经有了参与到框架开发的热情。

【编辑推荐】

  1. 服务器的 LinuxBoot:告别 UEFI、拥抱开源
  2. 为什么说Kubernetes是新的应用服务器?
  3. 游戏服务器开发如何组织业务逻辑的处理结构?
  4. Spring Boot-实现Undertow服务器同时支持HTTP2、HTTPS
  5. Python 绝技 —— TCP 服务器与客户端
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!