Python实现Web静态服务器

Python实现Web静态服务器

在互联网发展的早期很多网站都是静态网站,也就是说只有一个静态页面,例如下图的中国黄页就是一个静态页面,没有任何互动效果。
中国黄页
下图介绍的是客户端向服务器发起请求的过程,因这篇文章介绍的是静态服务器所以重点说下服务器部份,当客户端发起请求服务器根据请求的内容来读取HTML文件,读取后服务器将响应体和响应头拼接其做为一个整体,将这个整体统一返回给客户端,用户在客户端的浏览器看到的内容就是服务器HTML文件的内容。
WEB请求过程
在实现静态服务器之前先介绍下预备识知Socket套接字,socket是进程通信的一种方式,在python中要实现通信的功能就需要使用Socket套接字,比如浏览网页,发邮件,聊QQ都需要使用socket套接字。socket套接字是通过底层的应用系统实现的。在python中有一个socket模块对应着linux系统底层socket进行了封装,所以在python中可以直接使用。
socket套接字
还需要介绍下另一个预备知识多进程模块,在python中有一个多进程模块multiprocessing.Process(target=func,args=(arg1,arg2)),看下面面一段简单的示例代码,运行下注释部份和非注释部份就可以看到多进程的优势

from multiprocessing import Process
import time
def sayHello():
	print('hello world')
	time.sleep(1)

if __name__ == '__main__':
	for i in range(5):
		process = Process(target=sayHello)
		process.start()
		#sayHello()

有了这两部份知识接下来可以直接上构建web静态服务器,先看文件结构,这里只需看框起来红色部份的三个文件在这里插入图片描述

# coding:utf-8

import socket  # 导入Socket模块
import re       # 导入re正则模块
from multiprocessing import Process  # 导入P
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值