简明介绍http和https

http https

1 历史

HTTP是一个基于TCP/IP协议传输数据,应用层协议。

HTTP/1.1使用的还是很多 2015年发布HTTP/2

HTTP2使用了多路复用:

A:\World3_LearnToWaaagh\front-end\图\多路复用.jpg)]

多个请求共享一个tcp/ip连接。

2 报文格式

请求:

请求方法 URL 版本 CRLF(换行符)

首部字段名: 值

CRLF

首部字段名:值

CRLF

CRLF

请求主体(get在url中)

响应

版本 状态码 状态码描述 CRLF

首部字段名:值

首部字段名:值

CRLF

CRLF

响应主体

3 https

基于http协议,通过SSL或者TSL提供加密处理数据,验证对方身份以及数据完整性保护

不同于HTTP,数据不是明文传输

HTTPS默认端口为443,SSL加密手段是在传输控制层和应用层之间,技术上属于应用层。

SSL建立连接过程
在这里插入图片描述

1 client向server发送请求https://baidu.com 然后连接server的443端口,发送的信息是随机值1和客户端支持的加密算法

2 server返一个响应握手信息,包括随机值2和匹配好的协商加密算法

3 server给client发送第二个响应报文:数字证书,证书中有两个东西:公钥和私钥

4 客户端解析证书 验证公钥是否有效,没问题就生成一个预主秘钥

5 通过随机值1和随机值2和预主秘钥组装会话秘钥,通过证书的公钥加密

6 传送加密信息,服务端使用公钥解密获得随机值1、随机值2、预主秘钥

7 服务端解密得到随机值1 随机值2 预主秘钥,组装会话秘钥,跟客户端会话秘钥相同

8 客户端通过会话秘钥加密一条信息发给服务端,验证服务端书否正常就收客户端加密消息

得到随机值1 随机值2 预主秘钥,组装会话秘钥,跟客户端会话秘钥相同

8 客户端通过会话秘钥加密一条信息发给服务端,验证服务端书否正常就收客户端加密消息

9 同样服务器也会通过会话秘钥加密一条消息回传给客户端,客户端正常接收SSL层连接建立完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值