python 编写多进程 socket web静态服务器

服务器模型 C/S模型socket 是什么 ?一种进程间的通信技术 由伯克利大学(BSD) 发明, 才有了当前的互联网几乎所有的C/S模型服务器, 底层都是socket实现的, web服务器也不例外, 只是web服务器用了:HTTP协议用python搭建简易的web服务器:1. 导入相关模块import os # 导入系统模块import socket # 导入 socket包...
摘要由CSDN通过智能技术生成

服务器模型 C/S模型

socket 是什么 ?
一种进程间的通信技术 由伯克利大学(BSD) 发明, 才有了当前的互联网

几乎所有的C/S模型服务器, 底层都是socket实现的, web服务器也不例外, 只是web服务器用了:

HTTP协议

用python搭建简易的web服务器:

1. 导入相关模块
import os  # 导入系统模块
import socket  # 导入 socket包
from multiprocessing import Process  # 导入多进程模块
2. 创建类并初始化

初始化出部分需要的属性 方便之后方法的使用
port 主机需要绑定的端口

class WebServer(object):
    BASE_DIR = os.path.join(os.getcwd(), 'static')  # 查询文件夹, 用来查找访问的文件
    RESPONSE_STATUS = {
   200: 'OK', 404: 'Not Found', 403: 'Forbid'}  # 设置响应行可选返回状态码, 只选择了部分做演示

    def __init__(self, port=8080):
        """
        初始化参数
        :param port:
        """
        self.soc = self.create_server(port)  # 初始化socket对象
        self.new_fd: socket.socket = ...  # 方便pycharm提示,防止pycharm报波浪线
        self.request_dict = {
   }  # 设置空字典, 用于存储处理过后的请求头
        self.response_dict = [('Server', 'my_server'), ('Content-Type', 'text/html; charset=utf-8')]  # 设置响应头,因为可能有多个Set-Cookie, 所以用列表中的元组存储
3. 初始化socket对象 固定四部曲
  1. 创建socket对象
  2. 绑定address, ip及端口
  3. 防止服务器异常时, 端口的占用, 影响服务器的重启
  4. 转成监听模式
    # 创建socket对象
    def 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值