1.OSI 7层模型
1.物理层
机器A向机器B发送比特流
物理层主要定义了物理设备的标准,如网线类型光纤接口类型等等
主要应用是机械、电子、定时接口通信信道上的原始比特流传输 ,二进制数据转化为电流强弱进行传输,到达目的后再转化为01的机器码【数模转化和模数转化】网卡在这层
2.数据链路层
在数据传输的过程中有可能会出现错传的可能,数据链路层定义了数据以何种方式进行传输
主要作用 物理寻址,同时将原始比特流转变为逻辑传输线路 交换机在这层
3.网络层
控制子网的运行,如逻辑编址、分组传输、路由选择
4.传输层
接受上一层的数据必要的时候对这些数据进行分割,并将这些数据交给网络层,且保证这些数据段有效到达对端 TCP UDP 以太网无法接受大于1500字节的数据包,会以数据拆分并且标上序号到达接受方会按照序号顺序进行重组
5.会话层
解决不同系统之间通信语法的问题
不同机器上的用户之间建立以及管理会话
6.表示层
信息的语法语义以及它们的关联,如加密解密。转换翻译,压缩解压缩
7.应用层
2.三次握手
clipboard.png
1.第一次握手时,客户端发送SYN(seq=x)包到服务器,并且进入到SYN-SENT状态,等待服务器确认。
2.第二次握手,服务器收到了客户端的SYN包,必须确认SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),这样就是发送了一个SYN+ACK的包,同时服务器进入到SYN-RCVD的状态
3.第三次握手,客户端收到服务器的SYN+ACK包,然后向服务器发送ACK(seq=y+1)包,此包发送完毕客户端和服务端同时进入建立连接状态
3.四次挥手
clipboard.png
1.客户端发送一个FIN(seq=u),用来关闭客户端到服务端的数据传送,客户端进入到FIN_WAIT_1的状态
2.服务端收到FIN之后,发送一个确认ACK(seq=u+1),服务端进入Close_Wait状态
3.服务端发送一个FIN(seq=w),用来关闭到客户端的数据传送,服务端进入LAST_ACK状态
4.客户端收到FIN之后,进入TIME-WAIT状态,接着发送一个ACK(seq=w+1)给Server.然后server进入close状态,完成四次挥手。
4.常见状态码
200 – 正常返回信息
304 – 未修改
400 – 客户端请求语法错误
401 – 请求未经授权
403 – 服务器拒绝请求
404 – 请求的网页不存在
502 – 网关错误
503 – 服务器超时
5.GET和POST区别
HTTP报文层面:get将请求信息放在URL中,post将请求信息放在报文体中
数据库层面:get符合幂等性和安全性,post不符合
其他层面:get可以被缓存被存储,post不行
tips:幂等性 就是对数据库的一次操作和多次操作是否一致,安全性是是否修改了数据库的数据
6.Http和Https的区别
http协议是基于tcp协议进行传输,明文的协议
https协议是基于ssl协议进行传输,加密的协议
- Https的传输过程是怎样的?
客户端发起Https请求,服务端返回证书,客户端对证书进行验证,验证通过后本地生成用语改造对称加密算法的随机数,通过证书的公钥对随机数进行加密传输到服务端,服务端接收后通过私钥解密得到随机数,之后的数据交互通过对称加密算法进行加解密。
8.对称加密算法和非对称加密算法的区别
对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要。
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
网友评论