码迷,mamicode.com
首页 > 编程语言 > 详细

python 最简单的web应用(一)

时间:2018-08-24 16:12:59      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:sgi   col   class   interface   需要   color   script   \n   ast   

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

server.py文件
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Dang Kai
# @Date: 2018-08-24 14:50:02
# @Last Modified time: 2018-08-24 14:57:56
# @E-mail: 1370465454@qq.com
# @Description:
import socket

def handle_request(client):
    buf =client.recv(1024)
    client.send("HTTP/1.1 200 OK\r\n\r\n".encode("UTF-8"))
    with open("index.html","rb") as f:
        data=f.read()
    client.send(data)
def main():
    sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    sock.bind((localhost,8001))
    sock.listen(5)
    while True:
        connection,address=sock.accept()
        handle_request(connection)
        connection.close()



if __name__ == __main__:
    main()

index.html文件:

<!DOCTYPE html>
<html lang="en">
<head></head>
<body><h1>Hello</h1></body>
</html>

运行结果:

           技术分享图片

最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回。

如果要动态生成HTML,就需要把上述步骤自己来实现。不过,接受HTTP请求、解析HTTP请求、发送HTTP响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态HTML呢,就得花个把月去读HTTP规范。

      正确的做法是底层代码由专门的服务器软件实现,我们用Python专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口,让我们专心用Python编写Web业务。

这个接口就是WSGI:Web Server Gateway Interface。

请看下一篇

 

python 最简单的web应用(一)

标签:sgi   col   class   interface   需要   color   script   \n   ast   

原文地址:https://www.cnblogs.com/dangkai/p/9530043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!