Python的web服务器的程序设计

1. 使用python编写一个静态的web服务器,能够处理静态页面的http请求

原理:

a. 使用socket进行服务端和浏览器之间的通信

b. 使用多线程处理多个客户端浏览器的请求

c. 使用http协议发送响应数据

实现:

# coding:UTF-8

import socket

from multiprocessing import Process

def handle_request(client_socket):
    request_data = client_socket.recv(1024)

    response_first_line = "HTTP/1.1 200 OK\r\n"
    response_headers = "Server: My Web Static Server\r\n"
    response_body = "Hello, My Web Static Server"
    response = response_first_line + response_headers + "\r\n" + response_body
    client_socket.send(bytes(response, encoding="UTF-8"))
    client_socket.close()

if __name__ == "__main__":
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server_socket.bind(("",8001))
    server_socket.listen(128)

    while True:
        client_socket, client_address = server_socket.accept()
        print(‘["%s", "%s"]用户已经连接上服务器!‘ % client_address)
        handler = Process(target=handle_request, args=(client_socket,))
        handler.start()
        client_socket.close()

  

时间: 2024-11-08 17:02:28

Python的web服务器的程序设计的相关文章

Python的web服务器

1.浏览器请求动态页面过程 2.WSGI Python Web Server Gateway Interface (或简称 WSGI,读作"wizgy"). WSGI允许开发者将选择web框架和web服务器分开.可以混合匹配web服务器和web框架,选择一个适合的配对.比如,可以在Gunicorn 或者 Nginx/uWSGI 或者 Waitress上运行 Django, Flask, 或 Pyramid.真正的混合匹配,得益于WSGI同时支持服务器和架构. web服务器必须具备WSG

Python基础Web服务器案例

一.WSGI 1.PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI) 是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标. 2.WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要遵照这些协议, WSGI应用(Application)都可以在任何服务器(Server)上运行, 反之亦然. 3.WSGI允许开发者将选择web框架和web服务器分开,web服务器

Python——轻量级web服务器flask的学习

前言: 根据工程需要,开始上手另一个python服务器---flask,flask是一个轻量级的python服务器,简单易用.将我的学习过程记录下来,有新的知识会及时补充. 记录只为更好的分享~ 正文: 首先在Linux下搭建flask环境,详见如下安装步骤: 安装教程 安装好后只需要编写python程序即可,现在开始第一个flaskweb程序: from flask import Flask app = Flask(__name__) @app.route('/') def hello_wor

python简易web服务器学习笔记(三)

import sys, os, BaseHTTPServer #------------------------------------------------------------------------------- class ServerException(Exception): '''For internal error reporting.''' pass #--------------------------------------------------------------

python简易web服务器学习笔记(二)

import BaseHTTPServer #------------------------------------------------------------------------------- class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): '''Respond to HTTP requests with info about the request.''' # Template for page to sen

python对web服务器做压力测试并做出图形直观显示

压力测试有很多工具啊.apache的,还有jmeter, 还有loadrunner,都比较常用. 其实你自己用python写的,也足够用. 压力测试过程中要统计时间. 比如每秒的并发数,每秒的最大响应时间, 最小响应时间, 平均响应时间.最后再统一所有的请求完成后的上术参数. 将这些参数输出成CSV格式的文件. 如果不知道什么是CSV就是指将数据用引号包起来,中间用逗号分开,一系统数据放一行. 有了这个CSV文件,你用EXCEL打开来做图就可以. 如果你熟练,可以使用gnuplot这个命令行工具

《Python入门》第一个Python Web程序——简单的Web服务器

上一篇讲了<Python入门>Windows 7下Python Web开发环境搭建笔记,接下来讲一下Python语言Web服务的具体实现:第一个Python Web程序--简单的Web服务器. 与其它Web后端语言不同,Python语言需要自己编写Web服务器. 如果你使用一些现有的框架的话,可以省略这一步: 如果你使用Python CGI编程的话,也可以省略这一步: 用Python建立最简单的web服务器 利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录

python第三方库系列之十六--建立最简单的web服务器

利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令: python -m Web服务器模块 [端口号,默认8000] 例如: python -m SimpleHTTPServer 8080 然后就可以在浏览器中输入 http://localhost:端口号/路径 来访问服务器资源. 例如: http://localhost:8080/index.htm(当然index.htm文件得自己创建) 其他机器也可以通过服务器的IP地址来访问. 这里的

python超简单的web服务器

今天无意google时看见,心里突然想说,python做web服务器,用不用这么简单啊,看来是我大惊小怪了. web1.py 1 2 3 #!/usr/bin/python import SimpleHTTPServer SimpleHTTPServer.test() web2.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/python import SimpleHTTPServer import SocketServer