python实现简单的HTTP服务器

本文介绍了Python中用于搭建HTTP服务器的BaseHTTPServer模块,包括HTTPServer和BaseHTTPRequestHandler类的作用,以及如何创建一个简单的HTTP服务器实例。文章还提到了SimpleHTTPServer和CGIHTTPServer模块,用于GET、HEAD和POST请求。示例代码展示了如何通过命令行或Python脚本启动、访问和关闭服务器。
摘要由CSDN通过智能技术生成

用于搭建http server的模块有如下三种:
1)BaseHTTPServer:提供基本的Web服务和处理器类,分别是HTTPServer及BaseHTTPRequestHandler;
2)SimpleHTTPServer:包含执行GET和HEAD请求的SimpleHTTPRequestHandler类;
3)CGIHTTPServer:包含处理POST请求和执行的CGIHTTPRequestHandler类。
在我目前的实现中,主要采用BaseHTTPServer模块。

一、 BaseHTTPServer模块

HTTPServer是一个SocketServer.TCPServer的子集,创建并监听HTTP套接字,分配requests到处理器(handler), BaseHTTPRequestHandler在HTTP请求到达时进行处理,但其自身并不能对请求作出相应,由另一个派生类来处理每一个请求方法。BaseHTTPRequestHandler为子集提供许多类变量、实例变量和方法,其分析请求对象和请求头部,并根据请求类型调用相应的方法。一般这个模块不被直接使用,而是被用来作为构建功能性Web服务器的一个基类。

BaseHTTPRequestHandler其中的实例变量有:

1)client_address 包含关联的客户端地址(host, port)

2)command 包含请求类型(eg: get )

3)path 包含的请求路径

4)request_version 包含请求版本的字符串(eg: 'HTTP/1.0')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值