Web基础(6)Web框架初步认识

1. Web框架本质:对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端

import socket

def handle_request(client):
    buf = client.recv(1024)
    client.send("HTTP/1.1 200 OK\r\n\r\n")
    client.send("Hello World")
    
def main():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(("localhost", 8000))
    s.listen(5)

    while True:
        connection, address = s.accept()
        handle_request(connection)
        connection.close()
        
if __name__ == '__main__':
    main()
上述通过socket实现了其本质,而对于真实开发中的python web程序来说,一般会分为两部分:服务器程序和应用程序。服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理。


2. 简单的Web框架案例

# -*-coding:utf-8-*-
from wsgiref.simple_server import make_server

def new():
    return "new"

def index():
    return "index"

URLS = {
    "/new":new,
    "/index":index,
}

def RunServer(environment, start_response):
    start_response("200 OK", [("Content-Type", "text/html")])
    # 获取用户URL
    url = environment['PATH_INFO']
    
    if url in URLS.keys():
        func_name = URLS[url]
        ret = func_name()
    else:
        ret = "404"
    
    return ret

if __name__ == '__main__':
    httpd = make_server('', 8000, RunServer)
    httpd.serve_forever()
    
    



3. 常用的Web框架模式

MVC框架:

  • Models 数据相关操作
  • Views 模板HTML文件
  • Controllers 业务逻辑

MTV框架:

  • Models 数据相关操作
  • Templates 模板HTML文件
  • Views 业务逻辑





猜你喜欢

转载自blog.csdn.net/wayne12081213/article/details/79227450