在我们上网的过程中,一个访问请求是如何工作的。
Web的框架:
网络的连接都是基于Socket
在连接中有TCP/UDP 和HTTP协议
HTTP协议是:无状态,短连接。(HTTP协议的访问状态是发送请求连接一次,返回请求结果数据一次,就断开连接)
TCP:不断开,安全,不丢包,慢
UDP:易丢包,快
Web的工作流程:
浏览器端(Socket客户端)
2:域名或DNS正反解析出的IP,在浏览器中输入。
2.1在Socket端创建Socket对象
Socket.Socket()
2.2再创建连接
Scoket.connect((IP,端口))
2.3再发送连接请求
Socket.send("发送的连接请求数据")
5:接收响应的数据
6:连接断开,完成一次HTTP请求
网站服务端(Socket服务端)
1:监听自己的网站的公网IP或域名,while循环监听
while True:
用户等待用户连接
3:收到用户的连接请求(Socket.send("发送的数据"))
4:响应用户的连接,给用户返回响应数据,用户断开连接,等待下一个用户的连接请求。
1 import Socket 2 ?3 Socket = socket.socket() 4 #创建Socket对象 5 ?6 Socket.send(("ip",port)) 7 #绑定IP和端口 8 ?9 Socket.listen(5)10 #监听的11 12 while True:13 ????conn, addr = socket.accept()14 ????#在这hold住,等待用户发送的请求,有人来连接,获取用户的发送数据15 ????16 ????data = conn.recv(8096)17 ????#获取数据18 ????19 ????conn.send(b‘HTTP/1.1 200 OK \r\n\r\n‘)20 ????#响应头21 ????22 ????conn.send(b‘123‘)23 ????#响应的返回数据,响应体24 25 ????conn.close()26 ????#断开连接
Django----Web浏览过程
原文地址:https://www.cnblogs.com/george92/p/8269710.html