python day51
今日内容 Web框架的本质 我们可以这样理解: 所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端 。 这样我们就可以自己实现Web框架了。 简易版本的自定义web框架代码: import socket sk = socket.socket() sk.bind(("127.0.0.1", 80)) sk.listen() while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"OK") conn.close() 总结: 用户的浏览器一输入网址,会给服务端发送数据,那浏览器会发送什么数据?怎么发?这个谁来定?所以,有一个统一的规则,让大家发送消息、接收消息的时候有个格式依据,不能随便写。这个规则就是HTTP协议,以后浏览器发送请求信息也好,服务器回复响应信息也罢,都要按照这个规则来。 HTTP协议 超文本传输协议:规定了客户端与服务端消息传输的格式 四大特性: 1.基于TCP/IP协议作用于应用层的协议 2.基于请求响应 3.无状态 4.无连接 数据格式之请求: 请求首行 请求头(一堆k,v键值对) /r/n 请求体(post请求携带的数据) 数据格式之响应: 响应首行 响应头(一堆k,v键值对) /r/n 响应体(post请求携带的数据)