1,C/S架构,B/S架构
C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。
这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。
B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分的。
Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要大家去安装什么应用程序,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查。
2,osi七层模型
3,socket
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
4,TCP协议,udp协议
5,基于TCP协议的socket
1 #服务端 2 import socket 3 sk = socket.socket() 4 sk.bind(('127.0.0.1',8898)) #把地址绑定到套接字 5 sk.listen() #监听链接 6 conn,addr = sk.accept() #接受客户端链接 7 ret = conn.recv(1024) #接收客户端信息 8 print(ret) #打印客户端信息 9 conn.send(b'hi') #向客户端发送信息 10 conn.close() #关闭客户端套接字 11 sk.close() #关闭服务器套接字(可选)
1 #客户端 2 import socket 3 sk = socket.socket() # 创建客户套接字 4 sk.connect(('127.0.0.1',8898)) # 尝试连接服务器 5 sk.send(b'hello!') 6 ret = sk.recv(1024) # 对话(发送/接收) 7 print(ret) 8 sk.close() # 关闭客户套接字
6:
arp协议:通过目标ip地址,获取目标mac地址
TCP协议:安全可靠通信方式,面向连接
UDP协议:不安全,不可靠的通信方式,快
TCP:
三次握手 : 注意必须是client先发起请求
1 client发送给server我想连接你,可以么
2 server回复client,可以,我也想连接你,可以吗?
3 client回复server,可以
四次挥手 : 谁先发起请求都可以
1 client发送请求:我准备断开连接了,我没有数据需要发送了,
如果你有数据可以继续发给我
2 server回复:确认接收到你的请求,我开始着手准备断开事宜
3 server回复:我准备好了,可以随时断开连接
4 client回复:断开连接吧
协议概述:由多人制定的一种规则
tcp协议流程:
1 import socket 2 sk = socket.socket(type=socket.SOCK_STREAM) #创建一个套接字 3 sk.bind(('127.0.0.1',9632)) #把地址绑定到套接字 4 sk.listen() #监听链接 5 conn,addr = sk.accept() #接受客户端链接 6 ret = conn.recv(1024) #接收客户端信息 7 print(ret.decode('utf-8'),conn,addr) #打印客户端信息 8 conn.send(b'hi') #向客户端发送信息 9 conn.close() #关闭客户端套接字 10 sk.close() #关闭服务器套接字(可选)