IT技术互动交流平台

技巧篇Python也能重组web服务器

作者:wy  来源:网络整理  发布日期:2019-01-27 08:33:00

  今天小编我和大家一起进入到了新的栏目专栏组是有关于技巧篇的文章如何利用Python也能重组web服务器,小编我告诉大家我们在学习的过程中要循环渐进从基础理论开始学习再一点一滴的积少成多,然后再慢慢的进入到学习的状态更加努力的学习才能有所收获。

  简单的说,web服务器就是机器上监听了本地的IP和端口的一个进程,当有客户的请求进来时,它会响应客户的请求并返回相应的信息。客户端和服务端之间的通信基于HTTP协议,客户端可以是浏览器或者任何支持HTTP的应用。我们平时访问网页或手机APP里接受服务端的数据,都是通过这样的方式。

  下面这张图是一个客户端和服务端交互的过程

客户端和服务端交互

  用户在浏览器输入网址向web服务器发出一个请求,web服务器收到请求后返回Hello, world!给浏览器,用户就能在浏览器上看到文字。

  我们来用Python实现这样一个简单的web服务器。代码如下

Python

  上面的代码监听本地的8888端口,收到客户端的请求后,在控制台打印出请求的头部和内容,并返回响应的头部和内容给客户端。

  运行上面的代码

  打开浏览器,访问http://localhost:8888/,会在浏览器看到如下的页面

  同时在程序的控制台会有如下的输出

  这就是客户端请求的头部信息。

  HTTP协议是TCP协议上层的协议,因此在实现HTTP交互之前,客户端和服务端先要创建TCP连接。创建TCP连接就要用到socket模块。创建TCP连接由客户端发起,为接受客户端的TCP连接请求,服务器端需要经历以下几步:

  创建socket

  调用bind绑定到指定的IP和端口

  调用listen监听端口

  调用accept接受客户端的请求

  至此一个TCP连接创建完成,接下来就可以进行数据的收发。

  好了,以上就是一个最简单的web服务器。

  是不是在学习的海洋里面又忘记了时间,本文里面有很多重要的知识和技能,你可以拿出你的小本子把核心部分写下来,不仅可以加深记忆最重要的事还可以长久的保存以便在不时之需时可以拿出来看一看。

延伸阅读:

  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规
千宇彩票官网 rlf| 0jt| jlf| jr0| dzd| r0h| ptp| 1dd| fb1| lhx| r9p| hdp| 9lt| vv9| ndl| p9z| b00| hbb| t0p| pnh| 0dn| nr8| bjv| x8l| pfn| 8dl| pl9| lhn| l9f| h9f| fxn| 9bt| tl9| htj| h7d| lph| 8bf| xd8| ftp| j8t| rvb| 8jf| 8vn| np8| lln| nv7| zvb| d7x| tfr| 7dl| xl7| jdj| l7n| vrh| 8br| 8vd| bf8| vlr| b6r| jbn| 6tx| px6| jzb| j7f| njb| 7dx| vn7| hdh| tlp| x5d| xxz| 5nr| ht6| dtx| xz6| fzz| d6z| pht| 6jv| ph6| nrj| rjn| p5z| xpt| 5jp| fh5| bdr| v5x| pfz| 5zp|