5-应用层
应用层
处于这层的软件和协议都很多,应用层之下已提供完整的通信服务,它不需要管理通信服务
只需要向上对接用户,提供丰富的功能即可
应用层每一个协议都是为了解决一类问题存在的,定义应用间通信的规则

udp主要提供多媒体信息分发,即使这一秒信息丢失了,下一面的信息就来了,只会造成卡顿影响不大,例如网络直播,用户只关心实时信息,过去的信息并不关心


反观tcp需要保证数据安全,不能出错,金融交易,数据队列等都是基于tcp。
http协议
超文本传输协议,底层是tcp协议,所以他是可靠的数据传输协议,数据包括文本 文件 图片 视频 音频 动图等等
http是用于cs架构中,client不说了就是浏览器,主要说下服务器,就是web服务器
web服务器分为硬件和软件部分,硬件主要是高性能的硬件设备,或者是云设备。
软件部分主要是nginx和apache,web服务器和应用服务器是两码事,这要清楚。
web服务器主要用来接收请求,提取信息并封装,然后打到应用服务器中。
1、接收客户端的链接,会公开自己的ip或域名,端口一般为80
2、接收请求报文
3、处理请求,获取要请求的信息
4、访问web资源,web服务就是内容提供服务,从本机获取资源,例如数据库拉数据或要页面等等。
5、构造应答
6、发送应答


请求方法


如何指定资源呢?
地址中指定:www.xxx.com/class/222.html 表示222号课程
请求数据中指定:www.xxx.com?name=zhangsan&id=999
https协议
http是明文传输的,敏感数据是不安全的,传输的设备都可能看到明文信息
https是安全的http协议,端口443
加密模型
对称加密

非对称加密,加密和解密的密钥是不一致的,用的不是同一把钥匙,两把钥匙是一组密钥,二者有一定的关系


所有人都可以使用公钥对数据加密成文密文,我用我自己的私钥才能对数据解密,没有私钥拿到数据也无法解密。
除非你的私钥泄密了。
数据证书
数据证书是可信任组织办法给特定对象的认证,可视为身份证

SSL
secure sockets layer :安全套接层,位于应用层与传输层之间

应用层传给传输层的数据,保证数据不会泄露和篡改

工作过程:
1、client生成一个随机数1,再将协议版本与加密算法,告诉服务端,此时数据是明文不加密的
2、服务器回应,同样生成随机数2,并提供自己的数据证书,同时把客户端的解密算法进行确定,通过这步双方就确定了加密算法,此时秘钥还没确定。客户端收到后得到随机数2,此时客户端与服务端都拥有随机数1、2
3、客户端先确认数据证书是否有效,如果无效则认为服务器不安全,安全则生成随机数3,并且使用服务器公钥加密随机数3发送到服务端,公钥是从数据证书中取出的
4、此时双方都拥有了随机数1、2、3,此时随机数3只有服务端可以用解密,此时双方的信息是对称的
5、根据随机数1、2、3和相同的算法生成对称秘钥,之后就可以进行使用对称秘钥传输了,可以看到此过程中密钥并没有进行传输
https综合使用了对称加密和非对称加密,随机数校正阶段用非对称加密通信,待双方都确定随机数后用对称加密通信,且双方分别生成秘钥后没有经过传输, 减少了泄露的可能。
https协议工作工程

1、client对server443端口tcp连接
2、SSL安全参数握手,之后就可以进行数据加密和解密了
3、客户端发送数据,会先加密,到了server端会先解密
4、服务端相应数据前先加密,到了客户端先解密

浙公网安备 33010602011771号