web框架初步学习

本文介绍了如何通过Python实现一个简单的Web服务器,解析HTTP请求,包括请求协议、格式、头部和体,以及如何根据HTTP协议组装响应。涉及了socket编程和WSGI模块的应用,以及常用web框架的工作原理。
摘要由CSDN通过智能技术生成
#web开发
#模拟服务器的反应流程

import socket

sock = socket.socket()
sock.bind(("127.0.0.1",8800))  #别人来访问你的计算机
sock.listen(5)


while 1:  #循环过程
    conn,ddr = sock.accept()  #web请求基于http访
    data = conn.recv(1024)  #各种数据,固定返回的数据
    print('data',data)
    conn.send(b"HTTP/1.1 200 OK\r\n\r\nhello luffycity!")
    conn.close()  

请求协议

请求格式有哪些

请求头
post 方法  /form/entry URL  HTTP/1.1 协议版本
Host:hackr.jp
Connection:keep-alive
Content-Type:application/x-www-form-urlencoded
Content-Length:16

请求体

name=ueno&age = 37

请求方式。get请求没有请求体,提交的数据放在url后面, 只有post请求才会在请求体内容显示信息。

get提交的数据大小有限,post方法提交的数据没有限制。

http的响应协议

HTTP/1.1 协议版本 200状态码 OK 状态码原因短语
 Date: Tue, 10 Jul 2012 12:41:23 GMT 相应首行字段
Content-Length:
Content-Type:text/html

1xx请求正在处理,2xx成功处理,3xx重定向,需要附加操作,4xx请求资源找不到,5xx内容错误,服务器代码错误,服务器处理出错。

1.按照http协议解析数据2.按照http响应协议封装数据

import wsgiref

浏览器会默认发出一个请求,得到一个数据。

web框架: yuan功能总结

1.urls.py:路径与视图函数映射关系,  ---url控制器

2.views.py 视图函数,固定有一个形式参数。 environ

3.templates文件夹;html文件。模板部分

models:在项目启动前,在数据库中创建表结构的。  与数据库相关联。

main.py  启动文件,封装socket

如何将data里面的字符串解析出来成为一个好的格式,按照http格式解析的方式,

wsgiref模块,用来解析data里面的数据。

from wsgiref.simple_server import make_server

def application(environ,start_response):
   #按照http协议解析数据:envirion
#按照http协议组装数据:start_response

make_server("",8090) #将socket.bind('127.0.0.1',8090)封装
httped=make_server("",8090,applicaiton)
http.server_forever()  #等待用户连接。
return [b'<h1>hello web</h1>']

返回的是一个字典/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值