图解HTTP小结

2019-03-07  本文已影响30人  zhangwenhaojf40

名词解释

网络协议
根据ISO模型分为7层:

物理层、链路层、网络层、传输层、会话层、表示层、应用层

根据TCP/IP模型分为4层:

链路层(网络接口层)、网络层、传输层、应用层

IPv4
DoS(DenialOfService)拒绝服务的缩写

一般用非正常手段造成合法的用户无法正常请求,一般有以下三种手段:
制造大流量网络数据,造成网络堵塞,使攻击主机无法与外界通信
反复高频的发出重复请求,使被攻击主机来不及处理其他请求
反复发送畸形数据从而引发系统错误分配大量系统资源,使主机处于挂起状态甚至死机
服务器很难区别何为正常请求,何为攻击请求

持久连接

在HTTP 协议的最初版本中,每进行一次 HTTP 通信就要断开一次 TCP 连接,日后随着HTTP的发展,传输大文件或者展示大量图片,这种每次都要连接和断开,无疑增加了通信量的开销
在HTTP /1.1和部分HTTP/1.0 提出了TCP持久连接机制。最主要的特征就是,TCP连接之后,只要任何一端没有提出断开连接,则保持TCP连接状态
持久连接的好处是:减少了重复连接断开造成的额外开销,也相应减少了开销的时间,是的HTTP请求和相应可以更早的结束,显示速度也相应提高
在HTTP1.1中,所有的连接默认都是持久连接

HTTP的缺点

HTTPS(HTTP+SSL/TLS)

HTTPS 采用对称加密和非对称加密两种加密机制

使用对称加密解决

收发内容全程加密,使用同一个秘钥,发送前加密,接收后解密。这样的话,中间即便黑客获取到内容,也是两眼泪汪汪,白忙一场。因为内容是加密的

使用非对称加密解决

这个问题,让我们又回到了原点,把秘钥给另一方的过程中,黑客获取到了秘钥等于前面做的努力都白费了!如果能把秘钥安全送达,且不能篡改,那直接发送数据就行了,何必绕这么一大圈,鸡生蛋,蛋生鸡的问题。
使用公钥和私钥的来进行对传输的秘钥加密,但是过程中有一个小问题,怎么才能确认此公钥是真实有效官方发布的

CA机构腾空出世

是啊,老铁,咋整啊?这个时候,人们提出找一个权威机构做认证,即公钥发布之前先去认证,中间认证机构,其颁发的证书也就是我们常说的CA证书,CA机构申请给将要分发的公钥进行数字签名
数字签名证书的本质就是服务端的公钥+CA私钥加密的Hash值
当客户端收到该公钥数字证书后,会验证其有效性。大部分客户端都会预装CA机构的公钥,也就是CA公钥
最终把对称加密使用的秘钥,发送给客户端,从而进行加密解密。

让我们简单回顾一下整个流程:

1.为了通信内容的安全性,通过对称加密的方式对传输内容进行加密解密。
2.这其中有一个关键性的难题,怎么把秘钥安全的传输给客户端
3.这时候通过非对称加密的方式,即公钥和私钥,对第2步中的秘钥进行加密
4.可是这个时候又出现一个问题,怎么识别公钥是官方发布的,如果这个公钥是个冒牌货,客户端岂不是把银行卡号,密码全泄漏出去了,通过CA证书认证,公钥发布之前,先认证
5.客户端在一般都预装了CA机构的公钥,这样就会检验服务端的公钥,是否是官方发布。
6.有了3.4.5步的保证,第2步秘钥最终才能顺利到达彼岸,真是环环相扣
不忘初心,方得始终。真心不容易,大体的流程大概就是这样的

查看电脑中安装的证书:开始运行中输入certmgr.msc
上一篇 下一篇

猜你喜欢

热点阅读