https与http的简要区别

http是一种无状态协议,在OSI七层模型(由底到高:物理层,数据链路层,传输层,网络层,会话层,表示层,应用层)的最上层:应用层。

https是在http下加入了SSL层。

浏览器向服务器通过http协议发送请求(request),然后服务器响应(response),其中在网络层会有TCP协议,有大家熟悉的“三次握手”,相关的还有UDP协议,大家可以了解一下(OSI七层模型以后会单写)。

一次成功的http请求包含四步:

1,建立连接;

2,客户端发送http请求头;

3,服务器响应生成结果返回;

4,服务器端关闭连接,客户端解析,渲染页面;

https与http类似,只是在传递信息过程中采用了非对称和对称两种加密方式,使用前提是你申请了免费的或是购买了受浏览器信任的证书,其实就是一对密钥(公钥和私钥,不知我这么理解有没有错误),配置完成之后(这也可以写个小博文),打开网页就可以看到浏览器左上角显示https且是绿色的;

一次成功的https请求:

1,浏览器请求服务器;

2,服务器返回公钥(下面简称pub);

3,浏览器检查pub是否有效,有效,生成一个随机密钥(下面简称key),用pub把key加密后传递给服务器(data1);

4,服务器用私钥(下面简称pri)解密data1,获取key,把要返回的数据有key加密(data2)后返回给客户端; 5,客户端用key解密data2,获取返回的数据;

可以用下面这张图来说明(图是找的):

Published by

发表评论

电子邮件地址不会被公开。 必填项已用*标注