python搭建http服务器
‘壹’ Win10搭建简易文件服务器
前置条件: 安装python
进入dos命令行窗口:
检测python是否可用,在命令行窗口直接输入 python ,回车
检测python可用后,进入到自己指定要搭建服务的目录(比如:D:/SimpleServer),然后输入如下命令:
浏览器中输入: http://localhost:8000 或 http://本机ip:8000 进行访问,由于此时搭建服务器目录中没任何内容,故会显示如下:
此时可用在搭建的服务器目录中 创建文件夹/文件 即会看到如下效果:
好了,至此一个简单的服务器搭建就结束完了。
‘贰’ 如何用python搭建一个最简单的Web服务器
用Python建立最简单的web服务器
利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:
python -mWeb服务器模块[端口号,默认8000]
python -m SimpleHTTPServer 8080
http://localhost:端口号/路径
http://localhost:8080/index.htm(当然index.htm文件得自己创建)
BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。
SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
CGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。
例如:
然后就可以在浏览器中输入
来访问服务器资源。
例如:
其他机器也可以通过服务器的IP地址来访问。
这里的“Web服务器模块”有如下三种:
‘叁’ http的共享怎么开
这里我介绍两种方法!
一 :用IIS或者Apache之类的web服务器软件实现http文件共享
这里我以IIS为例介绍下用常用的web服务器实现文件共享的方法,具体如下(以我机器为例):
1、打开IIS,打开“网站 --> 默认网站”,右键点击“属性”,点击“主目录”,勾选“目录浏览”选项,如下图所示:
‘肆’ Python的HTTP请求管道化处理
在Web开发中,Python通过HTTP Pipelining技术提高网络效率,允许客户端连续发送多个请求,减少延迟。尽管标准库和requests等库默认不支持,但通过socket模块手动构建或利用支持HTTP/2的库如hyper或httpx,可以实现。实现时需注意服务器支持、请求和响应顺序,以及可能的服务器负载增加。在权衡利弊后,HTTP请求管道化在优化性能时展现出其价值。
HTTP Pipelining的基本原理是利用TCP连接连续发送请求,但需注意HTTP/1.1的限制可能导致响应延迟。在Python中,挑战在于默认库不支持,需要对HTTP协议有深入了解并处理连接管理。通过socket模块,虽然能实现,但代码复杂度增加且风险增大。
更推荐使用支持HTTP/2的库,如hyper或httpx,它们内置管道化支持,简化了实现过程。不过,使用时需确认服务器支持,同时关注请求发送和响应接收的顺序,以避免混淆和错误。在处理大量并发时,需谨慎考虑,以平衡性能提升和服务器负载。