在我们上网的过程中,一个访问请求是如何工作的.
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:响应用户的连接,给用户返回响应数据,用户断开连接,等待下一个用户的连接请求.
Socket 服务端
import Socket
Socket = socket.socket()
#创建Socket对象
Socket.send(("ip",port))
#绑定IP和端口
Socket.listen(5)
#监听的
while True:
conn, addr = socket.accept()
#在这hold住,等待用户发送的请求,有人来连接,获取用户的发送数据
data = conn.recv(8096)
#获取数据
conn.send(b'HTTP/1.1 200 OK \r\n\r\n')
#响应头
conn.send(b'123')
#响应的返回数据,响应体
conn.close()
#断开连接
来源: http://www.bubuko.com/infodetail-2457565.html