首页 > 文章列表 > python静态web服务器如何实现

python静态web服务器如何实现

Python web服务器
203 2022-08-07

1、编写TCP服务器程序。

2、获取浏览器发送的http请求消息数据。

3、读取固定的页面数据,将页面数据组装成HTTP响应消息数据并发送给浏览器。

4、HTTP响应报文数据发送完成后,关闭服务于客户端的套接字。

实例

# 时间: 2021/10/21 20:38
import socket
 
 
if __name__ == '__main__':
    # 创建tcp服务端套接字
    tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 设置端口号复用, 程序退出端口立即释放
    tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
    # 绑定端口号
    tcp_server_socket.bind(("", 8080))
    # 设置监听
    tcp_server_socket.listen(128)
    while True:
        # 等待接受客户端的连接请求
        new_socket, ip_port = tcp_server_socket.accept()
        # 代码执行到此,说明连接建立成功
        recv_client_data = new_socket.recv(4096)
        # 对二进制数据进行解码
        recv_client_content = recv_client_data.decode)
        print(recv_client_content)
        
 
        # 响应行
        response_line = "HTTP/1.1 200 OK\r\n"
        # 响应头
        response_header = "Server: py1.0\r\n"
 
        # 响应体
        response_body = "Hello,guys!"
 
        # 拼接响应报文
        response_data = (response_line + response_header + "\r\n"+ response_body).encode()
        # 发送数据
        new_socket.send(response_data)
 
        # 关闭服务与客户端的套接字
        new_socket.close()